Network vizualization and meaning shifting due to algorithm settings

Data visualizations are useful for exploratory work and as an aid in communicating findings. Data visualizations also seem to be in demand these days as a kind of eye candy for capturing attention. But when we look at one engaging enough to hold our attention, we want to know what it means. In other words, we want to interpret the image we see and try to extract meaning. The image on the right is the same OccupyOakland retweet network that I have used in other posts (and in the post below), but it looks different. Why?

The layout of a graph doesn’t always mean something. It depends on what is being emphasized. Sometimes we show the importance of the nodes by altering their color or size. In both of these images the nodes (which, in this case, are twitter accounts and the links are cases where one account retweeted another) are all the same color and size, so it is safe to assume that the individual nodes are not the focus. What the original (left) image was intended to do was show the clustering of retweets and density of the network, as well as how parts of it are not connected. I used a specific layout algorithm (Fruchterman & Reingold’s force-based algorithm use R and the iGraph Package) in an attempt to bring this out.

Fully processed network layout

But I used the exact same algorithm on the exact same data for the plot on the right. The difference was one single setting for the algorithm, but look at how different the networks look. In fact, in the image above I cut the layout process short and then plotted.

So, back to meaning. You can see that the images are very different and thus we might interpret them differently is we didn’t know they were the same network. Annette Markham has done some very interesting thinking on this in a series of blog posts.

One last point I want to make, before leaving you with some new eye-candy, is that most network images are a static reflection of a dynamic structure. What happens if we want to understand how networks change over time? Well, we could start by animating the network over time. Certainly this has been done before by others, but this is my latest attempts at it. The animation has a few annotations in it that provide some explanation of what is going on, but I am intentionally avoiding doing much interpretation here. Rather, what do you think is interesting about it? How would you interpret what you see as this network evolves over time?