Envisioning Information Lecture 5 – Connections Ken Brodlie kwb@comp.leeds.ac.uk ENV 2006 5.1 Outline • Connections – – – – – Applications – networks of information Graphs and trees Layout algorithms Treemaps Hyperbolic trees ENV 2006 5.2 Networks of Information 1 • • In multivariate visualization (lectures 3&4) we are looking among the observations for relations between the variates In other applications, we know the structure of the data – for example, the observations might be connected in a graph structure – • 2 3 eg directory tree The challenge is to visualize these connections – sometimes called network visualization A graph is a set of nodes or vertices (V) and a set of edges (E), in which an edge joins a pair of vertices. In a directed graph, the edges have an associated direction ENV 2006 5.3 Examples of Networks of Information My Windows2000 filestore ENV 2006 Automobile web site - visualizing links 5.4 Some More Applications • Genealogy http://www.genealogy.com • Business management – PERT charts • Phylogenetic trees showing evolution of life forms • Can you suggest some more? ENV 2006 http://aleph0.clarku.edu/~djoyce/java/Phyltree/cover.html 5.5 Online Communities http://jheer.org/vizster/ ENV 2006 5.6 Think About … • • Suppose we have a collection of documents… .. How could we derive links between these documents? ENV 2006 5.7 Drawing Large Graphs • • Layout of large graphs is a challenging problem What are the basic principles we want to follow in laying out graphs? 1. ? 2. ? ENV 2006 5.8 Force Directed Placement • Analogy with electrically charged atomic particles leads to a solution – Too close, repel – Too far apart, attract • Nodes become particles with forces between them determining their position • • • Fruchterman and Reingold developed a famous force-directed placement algorithm Suppose d = distance between two nodes, and k = ‘ideal’ distance between nodes Attraction force: – fa(d) = d2 / k • Repulsion force: – fr(d) = - k2 / d • Ref: Fruchterman and Reingold, Software Practice and Experience, 1991 http://citeseer.ist.psu.edu/fruchterman91graph.html ENV 2006 Ideal distance: – k = C*sqrt(area/number_of_nodes) C is a constant (found experimentally) 5.9 Forces versus distance • • Notice how combined effect of attractive and repulsive forces works Equilibrium at k – does this make sense? ENV 2006 5.10 Force-directed Placement Algorithm • Assign nodes to random positions • Iterate the following – For each node, calculate force due to repulsion by every other node (fr(d) = - k2 / d) – For each link, calculate force due to attraction of one node by the other (fa(d) = d2 / k) – For each node, sum all the attractive and repulsive forces – Determine displacement by Hooke’s Law for springs: displacement proportional to force – Limit displacement of any node by: • Boundary of region • A maximum step (‘temperature’) which decreases as optimum is reached ENV 2006 5.11 Force-directed Placement - Cooling Rapid initial cooling - quenching ENV 2006 Slower subsequent cooling – simmering 5.12 Hierarchical Information • Important special case is where information is hierarchical – Graph structure can be laid out as a tree http://www.nist.gov/dads/HTML/tree.html ENV 2006 5.13 Recursive Algorithm for Binary Trees • • Famous algorithm by ReingoldTilford (1981) Driven by aesthetics including: – Nodes at same level lie along a straight horizontal line – Left son to left, right son to right – Father centred over sons • Recursively from bottom-up: – Place roots of left and right subtrees on top of each other – Push roots apart a certain distance – Work down levels, pushing any nodes apart as needed – Draw parent one level above, midway between children ENV 2006 5.14 More general trees • Extends to more general trees David Duke http://www.comp.leeds.ac.uk/djd/graphs/ ENV 2006 5.15 Tree Maps • In many tree-drawing applications, it is the size of the node that we wish to visualize – For example, directory structure on hard disc • Tree maps is a screen filling method which uses a hierarchical partitioning of the screen into regions depending on attribute values • Alternate partitioning parallel to X and Y axes ENV 2006 5.16 Tree Map of Filestore Suppose user has three subdirectories: A, B and C First partition in X according to total size of each subdirectory A B C ENV 2006 5.17 Tree Map of Filestore Then within each subdirectory, we can partition in Y by the size of individual files, or further subdirectories A B C ENV 2006 5.18 Treemap Example Usenet news groups For history of treemaps see: www.cs.umd.edu/ hcil/treemap-history Developed over many years by Ben Schneiderman and colleagues ENV 2006 5.19 Cushion Treemaps • • • Treemaps can be hard to interpret Can you decipher the structure here? Cushion treemaps is an idea suggested by Jark van Wijk and colleagues ENV 2006 5.20 Cushion Tree Maps – The Idea • • • • • Imagine in 1D first, with a flat map Suppose we have a binary subdivision Add a ‘bump’ for each division and accumulate these recursively This gives the top curve on right Use this with a lighting effect to give the lower image ENV 2006 5.21 Cushion Tree Maps – A Filesystem Download SequoiaView from: http://www.win.tue.nl/sequoiaview/ ENV 2006 5.22 Hyperbolic Trees • This is a popular method of displaying hierarchical structures Triangle in Hyperbolic space • Based on ideas of hyperbolic geometry – As Euclidean axioms – except given a point and a line, there are infinite number of lines passing through the point which are parallel to the line – See : wikipedia – http://www.geom.uiuc.edu/java/t riangle-area/ ENV 2006 • • Boundary of disc represents infinity Notice how angle of triangle on boundary tends to zero 5.23 Visualizing Structure of Web Pages • Hyperbolic trees have been successfully used to visualize web site structures (Lamping et al, 1995) • Place home page in centre – with linked pages connected by hyperbolic arcs – further arcs link to further links – see: www.acm.org/sigchi/chi95/proceedings/papers/jl_bdy.htm Escher woodcut… .. inspired: ENV 2006 5.24 Hyperbolic Trees Automobiles web site Home page in centre Click on link you want ... ENV 2006 5.25 Hyperbolic Trees Auto History moves to centre of screen Click on next link... ENV 2006 5.26 Hyperbolic Trees Henry Ford is now at the centre and so on... ENV 2006 5.27 Hyperbolic Trees Also works for family trees... ENV 2006 5.28 Star Trees • Now commercially available from Inxight – Spun out of Xerox PARC – www.inxight.com – Now called ‘star trees’ ;) ENV 2006 5.29 Further Reading • Excellent review article: • Graph Visualization and Navigation in Information Visualization: a Survey (Herman, Melancon, Marshall) • IEEE Trans Vis and Computer Graphics, Vol 6, 2000 ENV 2006 5.30