How to show marker on a visual.RatingScale

Dear Experts,

I was wondering if there is a way to make a marker show up on a rating scale before a mouse click is made.

Here is the relevant line of code:

visual.RatingScale(win, low = 0, high = 100, acceptKeys='space', mouseOnly = True, tickHeight = 0, markerStart=50, disappear = False, singleClick=False, showAccept=False, stretch=1.356, pos=(-0.48,0.09), markerColor='white', marker = 'circle', lineColor = 'clear', textColor = 'clear')

Currently, the marker is not visible before a click is made, despite the fact that ‘markerStart’ is set to 50 (middle). Below is a screenshot of what this scale looks like (see the upper scale on the image).

I would like for it to look like this (see the picture below). However, currently, it only appears after a mouse is clicked.

Any help or info is really appreciated,

Arkadiy

Hi There,

Hopefully the response to this post might also be helpful here! shows how to achieve this online and offline. Multiple handle slider - #5 by Becca

Becca

Hi @Becca,

Thank you for this link- really helpful to see!

Apologies if I am missing this in your code (and if so, please point me to the correct line), but I was wondering if there is a way to identify when participants do not make a response at all but just click through the scales (i.e., confirm their responses without clicking)?

Currently, when I do not make responses but just select a confirm key I get a default rating (e.g., 100) on the output. Is there a way to identify when responses have not been made?

Thank you for all of your help with this,

Arkadiy

Hi There,

If you want to check if the participant moved the slider from default I believe it would work to add a variable that changes to True after thisRating1 = slider1._markerPos; i.e.

Begin Routine tab:

ratingGiven = false

Each Frame tab:

    if (typeof slider1._markerPos !== 'undefined') {
        thisRating1 = slider1._markerPos;
        ratingGiven = true
        }else{
            slider1.setRating(thisRating1)
            slider1.refresh()//refresh the visual stim to consider the rating
            }

Hope this helps,
Becca

1 Like