Visualization & Graph Drawing
9 October 2012
Martin B. Smith
• Practically any technique using images or
diagrams for communication
• Not new – cartography is old
• Not old – computer graphics are young
• Wide applications: architecture, product
design, education, communication
• A Periodic Table of Visualization Methods
From social structure, to data, to
• People & relationships as data
• Mathematical graphs as social networks
• Network analysis as applied graph theory
Side note: ‘Storage’ is important
• Consider advantages and disadvantages
of particular data structures:
– Typically breaks down into lists and matrices
– Incidence (edge) and Adjacency (vertex)
• Rank algorithms by how well they:
– Enumerate nodes, test adjacency, etc
Graph theory – Graph drawing
• Leonhard Euler, functions, f(x), e, i, Σ, and
Seven Bridges of Königsberg, Prussia
• Hierarchical – source to sink
• Tree – roots without cycles
• Symmetric – create visual symmetry
• Orthogonal – min. area & edge crossing
• Spectral – eigenvectors of a matrix
• Force/MDS – springs and electric charges
Evaluating graph drawings
• Is it fast to compute? Can we parallelize it?
• Does the algorithm converge? How quickly?
• Does it show obvious symmetries?
• Can we adapt it with parameters?
• Does it minimize edge crossings? Size?
• Does vertex nearness reflect adjacency?
• Are sizes, distances and shapes distributed
• Election 2008 visualization – let’s evaluate
• Attractive and repulsive forces simulated
as a physical system
• Forces can be gravity (Newton), springs
(Hooke), charged particles (Coulomb),
• Advantages: quality, flexibility, interactivity
• Disadvantages: can be slow, hurt by local
minima or initial conditions
Two common force-directed algorithms
• Fruchterman-Reingold: Nodes as steel
rings, edges as springs, electrical
repulsive force, step width using a global
cooling temperature definition
• Kamada-Kawai: Same as above, but
instead of a temperature, minimize force
equations with some initial node criteria
What can we do to make graph
drawing better for social networks?
• Modify the graph, improve data collection
• Add constraints to force-directed algorithm
• Get better initial conditions, more iterations
• Deal with orientations and coordinate systems
• 3D -> 2D, or use more interesting forces
• Apply multiple layout algorithms
• Curved lines and uniform distributions
• Come up with better algorithms in general
• Java, Swing – hosted at SourceForge
• Java Universal Network/Graph Framework
• Currently defaults to F-R, but places
isolates regularly instead of randomly
• We’d like to explore other optimizations
• Slides will posted (where?)
• Martin Smith – [email protected]
• EgoNet: http://egonet.sf.net/
• JUNG: http://jung.sourceforge.net/
• 1. Freeman, L., Visualizing Social Networks. Journal of Social Structure
1(1), Carnegie-Mellon, 2000.
• 2. Giuseppe Di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis.
Algorithms for Drawing Graphs: an Annotated Bibliography. Computational
Geometry: Theory and Applications 4:235-282, 1994.
• 3. Tamassia, R. Advances in the Theory and Practice of Graph Drawing.
Theoretical Computer Science 217 (2), 1999.
• 4. Fruchterman, T. M. J., & Reingold, E. M. Graph Drawing by Force-
Directed Placement. Software: Practice and Experience, 21(11), 1991.
• 5. Kamada, T. & Kawai, S. (1989). An algorithm for drawing general
undirected graphs. Information Processing Letters, 31, 7-15.
• 6. Network Workbench Community Wiki at