Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Visualization & Graph Drawing 9 October 2012 Martin B. Smith [email protected]

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Visualization? • 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

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

From social structure, to data, to visualization • People & relationships as data • Mathematical graphs as social networks • Network analysis as applied graph theory

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Graph theory – Graph drawing • Leonhard Euler, functions, f(x), e, i, Σ, and Seven Bridges of Königsberg, Prussia

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Graph layout • 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

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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 uniformly? • Election 2008 visualization – let’s evaluate

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Force-directed algorithms • Attractive and repulsive forces simulated as a physical system • Forces can be gravity (Newton), springs (Hooke), charged particles (Coulomb), magnetism (Maxwell?) • Advantages: quality, flexibility, interactivity • Disadvantages: can be slow, hurt by local minima or initial conditions

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

EgoNet (egonet.sf.net) • 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

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Thank you! • Slides will posted (where?) • Martin Smith – [email protected] • EgoNet: http://egonet.sf.net/ • JUNG: http://jung.sourceforge.net/

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

References • 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 https://nwb.slis.indiana.edu/community/?n=VisualizeData.HomePage