psychopy.org | Reference | Downloads | Github

Presenting a letter memory set vertically rather than horizontally?

OS Win10
PsychoPy version 3.0.3

What are you trying to achieve?:
Hi all,

I am currently using builder view to design a delay match-to-sample task. I am using excel spreadsheets to draw blocks of stimuli (in the same manner as the Sternberg demo). However, this the task I am trying to design involves attending to the left or right hemifield depending on where you are cued to attend. Therefore, I am looking to present my stimuli (1, 3 or 5 letters with #'s as filler symbols).

However, as I do want participants to fixate on a central point, I am looking to present my stimuli vertically or in a grid like this:

I cannot work out how I can alter the orientation of the letter sets (instead of having them presented horizontally as if they were being read left to right). I have manipulated the position of the letter sets but I don’t know how I would go about changing the position of individual letters within an excel cell.

What did you try to make it work?:

I tried flipping the orientation in the excel sheet itself, though (unsurprisingly) this didn’t carry over into the psychopy routine. I have the experiment working exactly as shown in the diagram above, I just can’t crack how to change the position of individual letters (or if it’s even possible at all!).

Apologies if this is a stupid question, but any assistance would be appreciated!

You would either have to set the individual letters usig different columns in your excel file (and multiple text components in the study) or you could set some hack where the text is the 3 letters with spaces “R L P” and then set the ‘wrap width’ of the Text Component to be very narrow so you get essentially a very thin column.

1 Like

Alternatively, you could use an image component for presenting your stimuli (might be quite some work if you have many different stimuli though).

Or you could set up the input cells in your Excel file like this:

a      b\nc      d\ne      f

where \n is a line break. For this solution, you will need to tweak the number of spaces between the letters. Also, a monospaced font would probably be preferable.

Jan

1 Like

Similar to @jderrfuss solution, you could also use a code component and text component. Your columns of letters would be as strings in your conditions file e.g., ‘abc’, and you divide and join them up with line breaks for presentation in your text component

### Begin Routine
letters = list('abcde') # or list(myVariable) from your conditions file
newStr = '\n'.join(letters)

# Then pass newStr to the text component
text.text = newStr
1 Like

Thank you got your reply, the wrap width setting fixes the issue quite easily! I will have to play around with my excel file too and see which solution is best.

Thanks for the advice! @dvbridges @jderrfuss