Converting graph coordinates to a measre of distance from central point

Hi NC community,

During interviews, my participants placed their alters on concentric circles to indicate their feelings about them. These are exported as graph coordinates. I will convert these to distance from centre to ascertain the strength of their feelings. However - I am not sure what the standardised central point is. Does anyone know this? I can work one out from my data but i don’t think the result is correct.

Any pointers much appreciated!

I also have a challenge - not everyone used the concentric circles so i have some outliers that mean i am sure how to cut the scale to represent the position of the concentric circles!

Hey Catriona!

It is a bit hidden in the documentation, but the normalized screen layout coordinates are relative to the top left of the screen (so, 0/0 is the absolute top left position that is possible and 1/1 is the bottom right).

Based on your second question, you might be better off using the pixel based “raw” coordinates, assuming all your participants used the same device. This might let you match things up to your concentric circles better.

Hope that helps :slight_smile:

It does - as i assume this makes the centre point of the circles 0.5,0.5?

Yes, that’s right! :slight_smile:

1 Like

Do you happen to know Joshua - I am converting these to distances and then inserting breaks (so if an alter is placed in the first concentric circle the score is 5, 4, 3, 2, and the furthest circle a score of 1, and outside that a zero?) . Don’t suppose you know the distance measurements - i have just got some dummy code at preset:

closeness_centroid ← c(0.5, 0.5)

Calculate the distance from the centroid and add it as a new column

alterData ← alterData %>%
mutate(closeness_converted = sqrt((closeness_x - closeness_centroid[1])^2 + (closeness_y - closeness_centroid[2])^2))

Define the breakpoints for categories, assuming distances are between 0 and 1

breakpoints_closeness ← c(-Inf, 0.1, 0.2, 0.3, 0.4, 0.6, Inf)

Define labels for the categories (same for respect and closeness) inverted so that the higher score is awarded for being ‘closer’ to the centre)

labels ← c(“5”, “4”, “3”, “2”, “1”, “0”)

I’m afraid I don’t know off the top of my head. It is a tricky problem. Assuming you used the “skew towards centre” option for the circles, all I can tell you is that the total visible area of the circles are equal.

I think your best bet would be to count the pixels from the centre, and then normalize those values relative to the total screen width/height (whichever direction you count towards) to get the ‘breakpoints’.

OK thanks - i’ll see what i can do - any tips on how to count pixels?

If you have a screenshot of the sociogram, you can use preview in macOS to do it by drawing a selection box (you’ll see the pixel size of the box as you draw):

If you need it to be more accurate, you can use photoshop, which has rulers etc.

excellent - thank you!

1 Like