I'm currently preparing some material for a lecture on visualization that William Cohen and Natalie Glance have kindly invited me to give as part of their course on Social Media Analysis (I'll probably share the paper here when it is complete). Naturally, one of the topics that permeates this area is network or graph visualization.
Creating good graph visualizations is hard, but often not always for the reasons people think. You might think that it is difficult to get all the edges of the graph represented without too many crossings, or perhaps it is hard because of the complexity of the algorithms (that is to say, it can take a long time to compute the best layout). When you get right down to it, graph visualization is difficult because it is often done without a clear purpose.
Of course, an easy way out of this dilemma, and one that I will confess to in the creation of examples like those found in the gallery on this blog, is to make the purpose of the visualization primarily aesthetic or artistic. However, this only leads to the double take reaction: that's cool - what is it?
Ben Shneiderman and Aleks Aris of the University of Maryland, have been working on an approach to better presenting graphical information by building systems that use what they call a semantic substrate. The semantic substrate essentially creates a meaningful partition of the nodes (e.g. in to specific classes), lays them out initially according to that substrate and then render the edges. This effectively wholly removes the problem of locating the nodes in a manner determined by the nature of the graph.
There are a number of similar examples that perhaps form steps on the evolution to this approach, the most obvious being the use of a geographic map as a substrate.
Below is an example from their paper 'Network Visualization by Semantic Substrates' which depicts the relationship between cases within and between the different levels of the US judicial system. In addition, the substrate (represented by boxes) has an additional left to right constraint representing the date of the court cases.