Introduction of Information Visualization and Visual Analytics Chapter 7 Trees and Graphs Visualization
Overview! Motivation! Trees Visualization! Graphs Visualization 1
Motivation! Often datasets contain inherent relations! Graphs are a suitable representation! Nodes represent the objects! Edges represent the relations A B C E! Hierarchies are a special case D! There exists an order! Parent-child relationship! Sibling relationship 2
Graphs and Trees InfoVis-SS2014 : 3
Graph Drawing vs. Information Visualization! Graph Drawing! Old topic, many books, etc.! May have other goals than visualization! E.g. VLSI (Very-Large-Scale Integration) design! Graph Visualization! Size key issue! Usability requires nodes to be discernable! Navigation considered 4
Part 1 Trees Visualization 5
Examples! General examples of hierarchies! Organization chart of a company! Taxonomy of biological species! Webpages, including browsing history! File systems!! Examples in software visualization! Class hierarchies! Syntax trees! 6
Representations! Representations! Trees! Directed acyclic graphs! Two main representation schemes:! Node-Link-Diagram! Space-Filling Diagram! Criteria for possible visualizations! Space efficiency! Information abstraction! Simplicity! Navigation 7
Representations! Properties of Trees! Special case of graphs! No cycles! Distinguished root node [Inspiered by John Stasko lectures] 8
Graphs and Trees InfoVis-SS2014 : 9
Node-Link-Diagrams! Root at top! Leaves at bottom 10
Node-Link-Diagrams! Hyperbolic Trees! Information is presented from the center outwards [John Lamping, Ramana Rao, Peter Pirolli. Conference on Human Factors in Computing Systems. CHI 95] 11
Drawing a Tree! Balancing the subtrees! Result: [A. Kerren. Animation der semantischen Analyse. Master s thesis, Universität des Saarlandes, Saarbrücken, 1997, page 103] 12
Drawing a Tree! Advantages of the method! Very common! Used in many applications! The nodes of the same level are on the same horizontal line! Simple and elegant! Disadvantages (in general)! Needs a lot of space! Possibly no room for labels! Big trees can not be presented on normal sized screens, because the representation is too broad 13
Aesthetics! Layout criteria:! Place the parents centered over the children! Nodes on the same level should lie on the same horizontal line! Respect ordering of children: left child left, right child right! Symmetry: the tree and its mirror image should reflect each other! Subtree should be constructed according to the same rules! Small subtrees should not be positioned randomly! Symmetry: Small inner subtrees should be distributed evenly between the bigger subtrees! Small outside subtrees should be next to bigger subtrees! A narrow tree layout needing less space 14
H-Tree Layout! H-tree layout! A fractal tree structure constructed from perpendicular line segment! Each smaller by a factor of the square root of 2 from the next larger adjacent segment.! Applications include VLSI design and microwave engineering. [Y. Shiloach, Arrangements of planar graphs on the planar lattice. Ph.D. Thesis, Department of Applied Mathematics, Weizmann Institute of Science, Israel, 1976] 15
H-Tree Layout [C. Tuttle, L. G. Nonato, and C. Silva. PedVis: A Structured, Space-Efficient Technique for Pedigree Visualization. IEEE Transactions on Visualization and Computer Graphics, 1063-1072, 2010.] 16
Radial Tree Layout! The root lies in the center! All nodes of one level are positioned on the same concentric circle! Prevent overlapping through defining sectors for the subtrees.! The latter condition can be weakened to get good results on average. [I. Herman, G. Melancon, M. De Ruiter, and M. Delest. Latour - A Tree Visualization System. In Proc. of the Symp. on Graph Drawing, GD 99, pp. 392-399, 1999.] 17
Radial Tree Layout The normal radial layout The two circles radial layout for a better space usage. [ Rogue Wave Views Graph Layout, Package API Reference Guide] 18
3D Layouts! Many tree layout algorithms have been ported to 3D! Advantages:! More space is available! Disadvantages! Navigation problems! Overlapping! Design of the labels! 19
3D Trees! Tavanti and Lind
3D Radial Layout! 3D radial layout [Herman I; Melancon G; Marshall MS. Graph visualization and navigation in information visualization: A survey. 2000.] 21
3D Trees! Hong and Eades proposed a new approach in 2003 [Seokhee Hong and Peter Eades, Drawing Trees Symmetrically in Three Dimensions, Algorithmica, vol. 36, no. 2, 2003.]! Prevents the problem of overlapping! Subtrees are drawn on subplanes! Given a partitioning, the algorithm runs in linear time! Finding the best balanced partitioning is NP-hard [http://www.cs.usyd.edu.au/~shhong/3dtreedraw.htm] 22
3D Trees! Example [http://www.cs.usyd.edu.au/~shhong/3dtreedraw.htm] 23
Cone Tree! Developed directly for 3D! Interactiveness important:! Nodes can be rotated http://users.dcc.uchile.cl/~rbaeza/cursos/visual/ix/ 24
Cone Tree! Examples [http://www.fask.uni-mainz.de/user/warth/hypertext/diplom/hypertext-3.5.5.html] 25
DOI-Trees! Degree-of-Interest Trees [Card, S. K. and Nation, D. Degree-of-interest trees: a component of an attention-reactive user interface. AVI 2002. 22-24.]! Traditional 2D techniques with the following extensions:! Drawing based on estimation of a users DOI! Nodes with low DOI are hidden! Geometrical scaling of nodes dependent on DOI! Semantic zooming! Clustered representation of large unexpanded branches! Animated transition of the focus [Inspired by a lecture of J. Stasko] 26
DOI-Trees [http://davenation.com/doitree/doitree-avi-2002.htm] 27
DOI-Trees [http://davenation.com/doitree/doitree-avi-2002.htm] 28
Botanical Trees! Basic idea: [E. Kleiberg et. al. InfoVis 2001]! We can easily see the branches, leaves, and their arrangement in a botanical tree [http://www.win.tue.nl/~vanwijk/botatree.pdf] 29
Hyperbolic Trees 2D 3D [http://www.geom.uiuc.edu/docs/research/webviz/webviz/node2.html] [http://www.visualcomplexity.com/vc/project_details.cfm?id=137&index=8&domain=multi-domain%20representation] 30
Hyperbolic Trees! 3D Translation of a node into the centre! 3D Rotation around the same node [Tamara Munzner, H3: Laying Out Large Directed Graphs in 3D Hyperbolic Space, 1997] 31
Space-Filling-Representations! Space-Filling-Representations! To overcome the conceptual problems of node-link diagrams! Space consumption! Inclusion of many (possibly complex) attributes! Disadvantage:! Not well suited for heavily unbalanced trees 32
Treemaps! Treemaps! Introduced by Johnson and Shneiderman [Brian Johnson and Ben Shneiderman. Tree-maps: A space-filling approach to the visualization of hierarchical information structures. VIS 91.]! The hierarchy is mapped recursively to rectangles! Children are drawn inside their parents! Alternate horizontal and vertical slicing at each successive level! Attributes can be encoded using! Area of the rectangle (e.g., size)! Color of the rectangle (e.g., node type)! Additional text (e.g., identifier) 33
Treemaps! Advantage! Very good global overview! Disadvantage! Normally, only the children are displayed 34
Treemaps! Nested vs. Non-nested Treemaps Non-nested Treemaps Nested Treemaps [Brian Johnson, Ben Shneiderman, Tree-Maps: a space-filling approach to the visualization of hierarchical information structures, 1992] 35
Treemaps! Application: Newsmap [http://www.marumushi.com/apps/newsmap/newsmap.cfm] 36
Treemaps! Application: Market Map (SmartMoney) HCI 3.1.37
Treemaps! SequoiaView is a further variant of Treemaps! Add shadows and textures to the rectangles, in order to make the hierarchy structure clear [ C. Ware. Information Visualization: Perception for Design. 2nd Edition, Morgan Kaufman, 2004] 38
Treemaps! SequoiaView [http://w3.win.tue.nl/nl/onderzoek/onderzoek_informatica/visualization/sequoiaview//] 39
Treemaps Drawing! Example of an algorithm (directory structures)! Draw! Change orientation from parent (horizontal/vertical)! Read all files and directories at this level! Make rectangle for each, scaled to size! Draw rectangles using appropriate size and color! For each directory! Call draw with current rectangle as focus 40
Radial Space-Filling! Radial Space-Filling! Use circle segments for the representation of tree nodes 41
Radial Space-Filling! Sunburst Layout! Introduced by Stasko and Zhang, InfoVis 00! Focus & Context-Display with 3 selection methods:! Angular detail! Detail outside! Detail inside! Empirical study confirms advantages compared to treemaps concerning! Time consumption for navigation! Learnability, and preference 42
Radial Space-Filling! Sunburst Layout http://bl.ocks.org/mbostock/5944371 43
le Visualization! Icicle Layout Radial Space-Filling 44
Space-Filling Representations! Comparison of space-filling representations Organization Chart Treemap Radial Icicle 45
Part 2 Graphs Visualization 46
Definition! Graphs! Abstract structures! Used to model relational information! Graph G = (V, E)! V: Set of vertices (objects)! E: Set of edges that connect vertices (relations)! Possible data structures! Adjacency matrix! Adjacency list! Graph Drawing! Automatic drawing of graphs in 2D and 3D 47
Information Visualization: Example! The input is a graph with no geometry! The output is a drawing of the graph; the drawing should be nice B Relational Information A D C A-B A-C A-D B-A B-C B-D C-A C-B C-D C-E D-A D-B D-C D-E E-C E-D Graph Drawing Algorithm A B E C E D 48
Definitions! Graphs! Cycles, No cycles C Cyclic Graphs A B E D Acyclic Graphs 49
Definitions! Nodes! Types, Information! Edges! Directed, Undirected, Weights, Types, Other values 50
Definitions! Undirected graphs! Degree of a node is the number of edges that are connected to it! Directed graphs! In-degree is the number of incoming edges! Out-degree is the number of outgoing edges C C A B E A B E D D 51
Graph Types InfoVis-SS2014 : 52
Aesthetics [http://www.mpi-fg-koeln.mpg.de/~lk/netvis/trade/worldtrade.html] 53
Aesthetics! Graph layout requirements! Easy to read! Easy to understand! Easy to remember! Possess a certain beauty [Taken from a lecture by S. Hong and P. Eades] 54
Aesthetics! Conflict between two criteria [Taken from a lecture by S. Hong and P. Eades] 55
Force-directed GD! Forces-based methods model the nodes and edges as physical bodies! Examples! Repelling forces between nodes! Spring tensions for the edges! Goal! Find a stable configuration minimizing the energy! Optimization problem being solved only locally 56
Force-directed GD! Spring Embedder! First introduced in graph drawing by P. Eades, 1984! Two criteria! Symmetry and Uniform edge length! Not predictable! High time complexity: > O(N 3 ) [Taken from a lecture by S. Hong and P. Eades] 57
Force-directed GD! Spring Embedder [http://www.leda-tutorial.org/de/offiziell/ch05s03s08.html] 58
Layered GD! The vertices of a directed graph are drawn in horizontal rows or layers with the edges generally directed downwards Parallel Layers Radial Layers 59
Layered GD! Tasks:! Step 1:! Most methods first extract an acyclic partial graph containing all nodes! Step 2:! All nodes receive a layer number and are arranged in lines from top to bottom, so that all edges of the acyclic graph point downwards! The arrangement within the lines should minimize the number of crossings, often only in the area up to the next level 60
Clustered Graphs! Clustering! c (0, 1] is the clustering parameter. c = 0.2 c = 0.5 c = 1.0 [Andreas Noack, Claus Lewerentz, A space of layout styles for hierarchical graph models of software systems, 2005] 61
Clustered Graphs! Clusters of partial graphs! Play a special role! Metabolic networks! Social networks!! Clusters can be predefined (e.g., with so-called hierarchical graphs, see above)! Graph layout should visualize clusters appropriately [I. Herman, G. Melancon, M.S. Marshall. Graph Visualization and Navigation in Information Visualization: a Survey. 2000.] 62
Clustered Graphs http://sydney.edu.au/engineering/it/~shhong/25dcluster.htm 63
Graph Drawing in 3D! Networks and graphs are becoming larger and larger! Scalability is an important issue! Solutions:! Clustering:! Collapse highly connected nodes to a super node! 3D (more space):! Classical 2D algorithm are extended to 3D! Problems! Navigation! Massive overlapping! Mental map 64
Graph Drawing in 3D! Linux kernel [http://www.pabr.org/kernel3d/kernel3d.html] 65
Graph Drawing in 3D! Large Graphs in 3D Hyperbolic Space https://graphics.stanford.edu/papers/h3cga/html/ 66
Focus & Context! Huge graphs are not understood by people from a picture! The representation only refers to the complexity of the network! Focus & Context is an important technique to explore very large graphs! One or several nodes are shown in the middle of the enlarged window! The Fisheye technologies are applicable 67
Focus & Context! Moire Graphs! Introduced by Jankun-Kelly and Ma, InfoVis 03! Idea! Radial Layout! Several focal points! Animations! Nodes can contain images [http://www.visualcomplexity.com/vc/project_details.cfm?id=187&index=187&domain=] 68
Applications! Visualization of internet traffic [http://www.unc.edu/depts/jomc/academics/dri/011/growth.html] Byte traffic into the ANS/NSFnet T3 backbone 69
Applications! Visualization of network data: SeeNet3D [Kenneth C. Cox, Stephen G. Eick, Taosong He, 3D Geographic Network Displays, 1996] 70
Applications! Visualizing Online Social Networks [Jeffrey Heer, Danah Boyd, Vizster: Visualizing Online Social Networks, 2005.] 71
Edge Bundles! [Danny Holten, Hierarchical Edge Bundles:Visualization of Adjacency Relations in Hierarchical Data, InfoVis 2006] 72
Edge Bundles! [Danny Holten, Hierarchical Edge Bundles:Visualization of Adjacency Relations in Hierarchical Data, InfoVis 2006] 73