Rendering networks in a three-dimensional space

Rendering networks in a three-dimensional space has interesting implications for social network analysis. In order to help differentiate this method from its 2D counterpart, I have laid an example of a typical graph and multiple examples of its 3D rendering (see figures below). One of the points I hope to get across with these visualizations is that while using a higher dimension space provides an opportunity to represent more information (such as a new variable), using a 2D plane still provides a great medium to show off relationships between the points of a dataset. To read more about the advantages of modelling data through networks please read my previous post.

Social network analysis (SNA) is the process of investigating social structures through the use of networks and graph theory. It characterizes networked structures in terms of nodes (individual actors, people, or things within the network) and the tiesedges, or links (relationships or interactions) that connect them.

Rendering these structures provides a great opportunity to visualize our data in a novel way. This is facilitated by some statistical programming languages (such as R) as we can even use a pre-built algorithm that can choose a layout for us. Alternatively, it is possible to build our own coordinate system, although that can be a tad complicated. In the past, I have been able to do this by using the Fruchterman-Reingold algorithm for the X and Y axis and then used the scores of betweenness centrality for the Z axis. In addition, these scores were standardized into ranks so that they would be normally distributed (and make for a neater visualization) and grouped by communities which were moved arbitrarily to either the positive or negative side so that they would be spread apart and have the most central nodes in the middle. Ultimately, this representation shows how our network could be described to have “layers”, in which the most central nodes lay in the middle and the outliers start to branch out. Although it is important to remark that there are countless ways in which you could design the layout, and if done properly it could be used to efficiently transmit more information in our visualizations.

The Fruchterman-Reingold layout is a force-directed layout algorithm which treats edges like springs that move vertexes closer or further from each other in an attempt to find an equilibrium that minimizes the energy of the system.

Another great advantage of this method is that it allows us to export our structure in an interactive medium, such as a html file, in which we can explore some of the relationships in our dataset and even get a better grasp of how our data is structured. Consequently, this would be a great way to debrief the findings of a network analysis.


Leave a comment