I have a rating scale I made with the following code:
win = visual.Window(fullscr = True, pos = (0,0), units = "norm", color = "Black")
scales = '1=Extremely Weak, 9=Extremely Strong'
label = ['1','2','3','4','5','6','7','8','9']
scale = visual.RatingScale(win, low=1, high=9, pos=(0,0), size=1.5, markerColor='Yellow', noMouse=True, textSize = 0.7, respKeys = ['1','2','3','4','5','6','7','8','9'], minTime=0.0, scale = scales, showAccept = False, labels = label, textColor="White", stretch=1.5)
while timer.getTime() < 4.0:
scale.draw()
win.flip()
if scale.getRating():
break
The problem is that that number labels don’t show up beneath each tick mark. According to the RatingScale help file, it says that labels can be placed at specific tick marks or at “all points (if given the same number of labels as points).” However, I don’t understand why this doesn’t occur for me.
I understand that I could use choices = ['1','2','3','4','5','6','7,'8,',9']
, which puts the numbers beneath each tick mark, but in doing so I’ll instantly break the loop because with the choices component the system is constantly collecting rating and reaction times, even before a key response. I want to be able to break out of the while loop if a button is pressed before the 4 second cutoff.
Is there any way to resolve my issue using labels, or do I need to do something with choices?