Social Network Visualization


Till von Ahnen

Till von Ahnen

Experienced 3D programmer interested in challenging opportunities and out-of-the box solutions with strong graphics and low-level background who loves to visualize data in every way.

Social Network Visualization


Social Network Visualization


In the 1930s Jacob Moreno created a drawing called sociogram which visualized the friendship between fourth graders, a basic form of social network analysis (SNA). If you want to read more about Moreno there is a nice article about his work from Linton C. Freeman here

The interessting part of SNA is to find how every individual is linked to eachother without seeing direct connections at the first sight.

For example in the dataset were a list of Persons who are known and a list of Persons which each of these person knows but how can be determined how close friends they are or if they even build a peer group.

Data Gathering

I wanted to try out this method but not by observing my friends than rather use an existing API since I could access plain data from a social-network. The data was used as source for the graph and so the relation building step could be skipped since the data directly featured fields like mutual-friends and such.
This boiled the peer group problem down to see how much friends people share.

The OpenGraph API can be accessed via pythons urllib2 and json module.
It is just needed to pass an accesstoken and the fields in an http request to recieve a JSON containing all the information needed.


As a harmonic way to layout the sozial network a mass-spring system was used which centers a person as a fix-point and anchors every other individual in a balanced way around the center node with lines showing direct / mutual friendships.

To visualize how much friends the focused node shares with certain others the springs
were adjusted with a factor to scale the radius of their hexagons.

But this layout had some problems since some nodes where bobbing around not finding their equilibrium state because they shared more mutual friends with other persons than the centernode did.

So the layout is now weighting the connections to the center node higher than the connections to their mutual friends also the springlength is now dynamic depending on howmuch friends an individual has.

There are directly visible clusters of "interest-groups" that are forming around the center node. Bonding together due to their shared friendships.

In conclusion social network graphs are nice to look at and a huge field of research is already done there and I hope to dive deeper into this topic sometime.

View Comments...