Presentation on theme: "ENV 20065.1 Envisioning Information Lecture 5 – Connections Ken Brodlie"— Presentation transcript:
ENV Envisioning Information Lecture 5 – Connections Ken Brodlie
ENV Outline Connections –Applications – networks of information –Graphs and trees –Layout algorithms –Treemaps –Hyperbolic trees
ENV Networks of Information 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 –eg directory tree The challenge is to visualize these connections – sometimes called network visualization 1 23 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 Examples of Networks of Information My Windows2000 filestore Automobile web site - visualizing links
ENV Some More Applications Genealogy Business management –PERT charts Phylogenetic trees showing evolution of life forms Can you suggest some more?
ENV Online Communities
ENV Think About … Suppose we have a collection of documents….. How could we derive links between these documents?
ENV 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 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: –f a (d) = d 2 / k Repulsion force: –f r (d) = - k 2 / d Ideal distance: –k = C*sqrt(area/number_of_nodes) C is a constant (found experimentally) Ref: Fruchterman and Reingold, Software Practice and Experience, 1991
ENV Forces versus distance Notice how combined effect of attractive and repulsive forces works Equilibrium at k – does this make sense?
ENV Force-directed Placement Algorithm Assign nodes to random positions Iterate the following –For each node, calculate force due to repulsion by every other node (f r (d) = - k 2 / d) –For each link, calculate force due to attraction of one node by the other (f a (d) = d 2 / k) –For each node, sum all the attractive and repulsive forces –Determine displacement by Hookes 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 Hierarchical Information Important special case is where information is hierarchical –Graph structure can be laid out as a tree
ENV Recursive Algorithm for Binary Trees Famous algorithm by Reingold- Tilford (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 More general trees Extends to more general trees David Duke
ENV 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 Tree Maps
ENV Suppose user has three subdirectories: A, B and C First partition in X according to total size of each sub- directory ABC Tree Map of Filestore
ENV ABC Then within each subdirectory, we can partition in Y by the size of individual files, or further subdirectories Tree Map of Filestore
ENV Treemap Example Usenet news groups For history of treemaps see: hcil/treemap-history Developed over many years by Ben Schneiderman and colleagues
ENV 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 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 Cushion Tree Maps – A Filesystem Download SequoiaView from:
ENV Hyperbolic Trees This is a popular method of displaying hierarchical structures 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/ triangle-area/http://www.geom.uiuc.edu/java/ triangle-area/ Boundary of disc represents infinity Notice how angle of triangle on boundary tends to zero Triangle in Hyperbolic space
ENV 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: Escher woodcut….. inspired:
ENV Hyperbolic Trees Automobiles web site Home page in centre Click on link you want...
ENV Hyperbolic Trees Auto History moves to centre of screen Click on next link...
ENV Hyperbolic Trees Henry Ford is now at the centre and so on...
ENV Hyperbolic Trees Also works for family trees...
ENV Star Trees Now commercially available from Inxight –Spun out of Xerox PARC –www.inxight.comwww.inxight.com –Now called star trees ;)
ENV 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