Slider
¶A class for obtaining ratings, e.g., on a 1-to-7 or categorical scale. This is a lazy-imported class, therefore import using full path from psychopy.visual.slider import Slider when inheriting from it.
|
A class for obtaining ratings, e.g., on a 1-to-7 or categorical scale. |
Get the current value of rating (or None if no response yet) |
|
Get the RT for most recent rating (or None if no response yet) |
|
The position on the scale where the marker should be. |
|
|
When the rating scale is read only no responses can be made and the scale contrast is reduced |
Set all elements of the Slider (labels, ticks, line) to a contrast |
|
Return a list of the subject's history as (rating, time) tuples. |
|
Instructs the rating scale to check for valid mouse responses. |
|
Resets the slider to its starting state (so that it can be restarted on each trial with a new stimulus) |
A class for obtaining ratings, e.g., on a 1-to-7 or categorical scale.
A simpler alternative to RatingScale, to be customised with code rather than with arguments.
A RatingScale instance is a re-usable visual object having a draw()
method, with customizable appearance and response options. draw()
displays the rating scale, handles the subject’s mouse or key responses,
and updates the display. When the subject accepts a selection,
.noResponse
goes False
(i.e., there is a response).
You can call the getRating()
method anytime to get a rating,
getRT()
to get the decision time, or getHistory()
to obtain
the entire set of (rating, RT) pairs.
For other examples see Coder Demos -> stimuli -> ratingsNew.py.
2018: Jon Peirce
win (psychopy.visual.Window) – Into which the scale will be rendered
ticks (list or tuple) – A set of values for tick locations. If given a list of numbers then these determine the locations of the ticks (the first and last determine the endpoints and the rest are spaced according to their values between these endpoints.
labels (a list or tuple) – The text to go with each tick (or spaced evenly across the ticks). If you give 3 labels but 5 tick locations then the end and middle ticks will be given labels. If the labels can’t be distributed across the ticks then an error will be raised. If you want an uneven distribution you should include a list matching the length of ticks but with some values set to None
size (w,h pair (tuple, array or list)) – The size for the scale defines the area taken up by the line and the ticks. This also controls whether the scale is horizontal or vertical.
units (the units to interpret the pos and size) –
flip (bool) – By default the labels will be below or left of the line. This puts them above (or right)
granularity (int or float) – The smallest valid increments for the scale. 0 gives a continuous (e.g. “VAS”) scale. 1 gives a traditional likert scale. Something like 0.1 gives a limited fine-grained scale.
color (labelColor /) – Color of the labels according to the color space
fillColor (markerColor /) – Color of the marker according to the color space
borderColor (lineColor /) – Color of the line and ticks according to the color space
font (font name) –
autodraw –
depth –
name –
autoLog –
Calculates the locations of the line, tickLines and labels from the rating info
(readonly) determines from labels and ticks whether the slider is categorical
Set all elements of the Slider (labels, ticks, line) to a contrast
contrast –
The distance from the leftmost point on the slider to the rightmost point, and from the highest point to the lowest.
Set the fill color for the shape.
1x2 array for flipping vertices along each axis; set as True to flip or False to not flip. If set as a single value, will duplicate across both axes. Accessing the protected attribute (._flip) will give an array of 1s and -1s with which to multiply vertices.
Foreground color of the stimulus
string: to specify a Colors by name. Any of the standard html/X11 color names <http://www.w3schools.com/html/html_colornames.asp> can be used.
other Color spaces. For these, operations are supported.
When color is specified using numbers, it is interpreted with respect to the stimulus’ current colorSpace. If color is given as a single value (scalar) then this will be applied to all 3 channels.
Examples
For whatever stim you have:
stim.color = 'white'
stim.color = 'RoyalBlue' # (the case is actually ignored)
stim.color = '#DDA0DD' # DDA0DD is hexadecimal for plum
stim.color = [1.0, -1.0, -1.0] # if stim.colorSpace='rgb':
# a red color in rgb space
stim.color = [0.0, 45.0, 1.0] # if stim.colorSpace='dkl':
# DKL space with elev=0, azimuth=45
stim.color = [0, 0, 255] # if stim.colorSpace='rgb255':
# a blue stimulus using rgb255 space
stim.color = 255 # interpreted as (255, 255, 255)
# which is white in rgb255.
Operations work as normal for all numeric colorSpaces (e.g. ‘rgb’, ‘hsv’ and ‘rgb255’) but not for strings, like named and hex. For example, assuming that colorSpace=’rgb’:
stim.color += [1, 1, 1] # increment all guns by 1 value
stim.color *= -1 # multiply the color by -1 (which in this
# space inverts the contrast)
stim.color *= [0.5, 0, 1] # decrease red, remove green, keep blue
You can use setColor if you want to set color and colorSpace in one line. These two are equivalent:
stim.setColor((0, 128, 255), 'rgb255')
# ... is equivalent to
stim.colorSpace = 'rgb255'
stim.color = (0, 128, 255)
Return a list of the subject’s history as (rating, time) tuples.
The history can be retrieved at any time, allowing for continuous ratings to be obtained in real-time. Both numerical and categorical choices are stored automatically in the history.
Instructs the rating scale to check for valid mouse responses.
This is usually done during the draw() method but can be done by the user as well at any point in time. The rating will be returned but will ALSO automatically be set as the current rating response.
While the mouse button is down we will alter self.markerPos but don’t set a value for self.rating until button comes up
A rating value or None
(readonly) determines from self.size whether the scale is horizontal
Synonym of Slider.foreColor
Synonym of Slider.fillColor
The position on the scale where the marker should be. Note that this does not alter the value of the reported rating, only its visible display. Also note that this position is in scale units, not in coordinates
Resets the slider to its starting state (so that it can be restarted on each trial with a new stimulus)
When the rating scale is read only no responses can be made and the scale contrast is reduced
Sets some predefined style tweaks or use these to create your own.
If you fancy creating and including your own style tweaks that would be great!
styleTweaks (list of strings) –
Known style tweaks currently include:
’triangleMarker’: the marker is a triangle ‘labels45’: the text is rotated by 45 degrees
Legacy style tweaks include:
’whiteOnBlack’: a sort of color-inverse rating scale
Legacy style tweaks will work if set in code, but are not exposed in Builder as they are redundant
Style tweaks can be combined in a list e.g. [‘labels45’]
Synonymous with .rating