我正在PsychoPy开发一个元认知实验(v.1.90.1),我需要一个视觉模拟量表来测量信心。但是,我无法找到一种方法将数字值(0和1)从精神病院的边缘移除。有办法把它们藏起来吗?
我需要单词标签("Not at all confident","Extremely confident"),但我也希望将答案记录在0-100标度(或等效的0-1)上,就像模拟标度那样(所以切换到分类不会)。
有什么建议吗?
提前谢谢。
索尼娅
发布于 2018-08-10 13:08:45
看看文献资料,特别是labels和scale。这是一个解决办法:
# Set up window and scale
from psychopy import visual
win = visual.Window()
scale = visual.RatingScale(win,
labels=['Not at all confident', 'Extremely confident'], # End points
scale=None, # Suppress default
low=1, high=100, tickHeight=0)
# Show scale
while scale.noResponse:
scale.draw()
win.flip()
# Show response
print scale.getRating(), scale.getRT()发布于 2018-08-15 16:54:35
您也可能对新的滑块感兴趣,它包含在当前的PsychoPy测试版中,并将成为下一个版本的一部分。下面是一个Python 3代码示例,如何使用它:
from psychopy.visual.window import Window
from psychopy.visual.slider import Slider
win = Window()
vas = Slider(win,
ticks=(1, 100),
labels=('Not at all confident', 'Extremely confident'),
granularity=1,
color='white')
while not vas.rating:
vas.draw()
win.flip()
print(f'Rating: {vas.rating}, RT: {vas.rt}')在重用之前,您必须调用vas.reset()。
发布于 2018-08-21 15:54:16
我可以扩展@hoechenberger的答案来增加对
markerPos设置为以刻度单位为单位的随机val )markerPos,完成后将其分配给rating)下面是代码:
from psychopy import visual
from psychopy import event
from numpy.random import random
stepSize = 2
win = visual.Window()
vas = visual.Slider(win,
ticks=(0, 1),
labels=('Not at all confident', 'Extremely confident'),
granularity=1,
color='white')
for thisTrialN in range(5):
vas.reset()
vas.markerPos = random() # randomise start
while not vas.rating:
# check keys
keys = event.getKeys()
if 'right' in keys:
vas.markerPos += stepSize
if 'left' in keys:
vas.markerPos -= stepSize
if 'return' in keys:
# confirm as a rating
vas.rating = vas.markerPos
# update the scale on screen
vas.draw()
win.flip()
print('Rating: {}, RT: {}'.format(vas.rating, vas.rt))https://stackoverflow.com/questions/51785194
复制相似问题