首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视觉模拟量表

视觉模拟量表
EN

Stack Overflow用户
提问于 2018-08-10 11:09:15
回答 3查看 1.2K关注 0票数 0

我正在PsychoPy开发一个元认知实验(v.1.90.1),我需要一个视觉模拟量表来测量信心。但是,我无法找到一种方法将数字值(01)从精神病院的边缘移除。有办法把它们藏起来吗?

我需要单词标签("Not at all confident""Extremely confident"),但我也希望将答案记录在0-100标度(或等效的0-1)上,就像模拟标度那样(所以切换到分类不会)。

有什么建议吗?

提前谢谢。

索尼娅

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-10 13:08:45

看看文献资料,特别是labelsscale。这是一个解决办法:

代码语言:javascript
复制
# 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()
票数 1
EN

Stack Overflow用户

发布于 2018-08-15 16:54:35

您也可能对新的滑块感兴趣,它包含在当前的PsychoPy测试版中,并将成为下一个版本的一部分。下面是一个Python 3代码示例,如何使用它:

代码语言:javascript
复制
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()

票数 2
EN

Stack Overflow用户

发布于 2018-08-21 15:54:16

我可以扩展@hoechenberger的答案来增加对

  1. 每个试验的随机开始(将markerPos设置为以刻度单位为单位的随机val )
  2. 按键支持(只需使用键调整markerPos,完成后将其分配给rating)
  3. 自定义步长(当您理解(2)时,这可能是显而易见的)
  4. Python2.7 (不需要强制Py3.6这里:wink:)

下面是代码:

代码语言:javascript
复制
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))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51785194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档