Graph and Tree Layout

Similar documents
Graph and Tree Layout

Trees & Graphs. Nathalie Henry Riche, Microsoft Research

Graph Layout. Last Time: Conveying Structure. Framework for conveying structure. Photographs and illustrations. What is a good view?

cs6964 March TREES & GRAPHS Miriah Meyer University of Utah

IAT 355 Intro to Visual Analytics Graphs, trees and networks 2. Lyn Bartram

Hierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko

Drawing Problem. Possible properties Minimum number of edge crossings Small area Straight or short edges Good representation of graph structure...

2D Visualization Techniques: an overview

Hierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko

8. Visual Analytics. Prof. Tulasi Prasad Sariki SCSE, VIT, Chennai

Information Visualization. Jing Yang Spring Hierarchy and Tree Visualization

Using Space Effectively

Graph/Network Visualization

Week 6: Networks, Stories, Vis in the Newsroom

CP SC 8810 Data Visualization. Joshua Levine

VISUALIZING TREES AND GRAPHS. Petra Isenberg

Graphs and Networks 1

hierarchical techniques

Clustering CS 550: Machine Learning

Edge Equalized Treemaps

Visual Encoding Design

Information Visualization

Courtesy of Prof. Shixia University

Graph Drawing Contest Report

INFO 424, UW ischool 11/1/2007

Large Scale Information Visualization. Jing Yang Fall Tree and Graph Visualization (2)

Information Visualization. Jing Yang Fall Hierarchy and Tree Visualization

Graph Clarity, Simplification, & Interaction

Calypso Construction Features. Construction Features 1

Grandalf : A Python module for Graph Drawings

Visual Encoding Design

Points Lines Connected points X-Y Scatter. X-Y Matrix Star Plot Histogram Box Plot. Bar Group Bar Stacked H-Bar Grouped H-Bar Stacked

Lecture 13: Graphs/Trees

1.2 Graph Drawing Techniques

Hierarchy and Tree Visualization

Algorithms for Graph Visualization

CS 465 Program 4: Modeller

An Occlusion-Reduced 3D Hierarchical Data Visualization Technique

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Accepting that the simple base case of a sp graph is that of Figure 3.1.a we can recursively define our term:

Graphs and Networks 2

HYBRID FORCE-DIRECTED AND SPACE-FILLING ALGORITHM FOR EULER DIAGRAM DRAWING. Maki Higashihara Takayuki Itoh Ochanomizu University

We will start at 2:05 pm! Thanks for coming early!

Information Visualization

Interactive, Tree-Based Graph Visualization

Large Scale Information Visualization. Jing Yang Fall Graph Visualization

Foundations of Multidimensional and Metric Data Structures

Graphs and Networks 1

2D/3D Geometric Transformations and Scene Graphs

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Ray Tracing Acceleration Data Structures

Graph and Digraph Glossary

hierarchical techniques

HOLA: Human-like Orthogonal Network Layout

Data and Image Models

Spatial Data Structures

Integrated Math I. IM1.1.3 Understand and use the distributive, associative, and commutative properties.

CS521 \ Notes for the Final Exam

Mining Social Network Graphs

9-1 GCSE Maths. GCSE Mathematics has a Foundation tier (Grades 1 5) and a Higher tier (Grades 4 9).

STUDY AND IMPLEMENTATION OF SOME TREE DRAWING ALGORITHMS A THESIS SUBMITTED TO THE GRADUATE SCHOOL IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

1 Proximity via Graph Spanners

Data Visualization. Fall 2016

NP-Completeness of Minimal Width Unordered Tree Layout

MADANI BOYS SCHOOL GCSE Maths Scheme of Work for Higher sets. OVERVIEW for Higher sets

Interactive Math Glossary Terms and Definitions

University of Waterloo Department of Electrical and Computer Engineering ECE 457A: Cooperative and Adaptive Algorithms Midterm Examination

Ohio Tutorials are designed specifically for the Ohio Learning Standards to prepare students for the Ohio State Tests and end-ofcourse

6. Graphs & Networks. Visualizing relations. Dr. Thorsten Büring, 29. November 2007, Vorlesung Wintersemester 2007/08

Navigating Clustered Graphs

Protovis cheat sheet. Property Description Area Bar Dot Line Wedge Label Rule. Style Description Area Bar Dot Line Wedge Label Rule.

Last Time: Value of Visualization

GTPS Curriculum Mathematics Grade 8

Glyphs. Presentation Overview. What is a Glyph!? Cont. What is a Glyph!? Glyph Fundamentals. Goal of Paper. Presented by Bertrand Low

Understanding Clustering Supervising the unsupervised

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Spatial Data Structures

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

Performance Level Descriptors. Mathematics

Prentice Hall Mathematics: Pre-Algebra 2004 Correlated to: Colorado Model Content Standards and Grade Level Expectations (Grade 8)

Spatial Data Structures

Geometric data structures:

Sample Chapters. To learn more about this book, visit the detail page at: go.microsoft.com/fwlink/?linkid=192147

6. Graphs and Networks visualizing relations

Spatial Data Structures

Clustering. CE-717: Machine Learning Sharif University of Technology Spring Soleymani

A function: A mathematical relationship between two variables (x and y), where every input value (usually x) has one output value (usually y)

4. Ad-hoc I: Hierarchical clustering

Prentice Hall Mathematics: Course Correlated to: Massachusetts State Learning Standards Curriculum Frameworks (Grades 7-8)

Modeling Objects. Modeling. Symbol-Instance Table. Instance Transformation. Each appearance of the object in the model is an instance

Year 10 Mathematics Scheme of Work. Higher and Foundation

Continuous Development Cycle Curriculum & Assessment Overview

Week 7 Picturing Network. Vahe and Bethany

Dynamic Collision Detection

Intersection of an Oriented Box and a Cone

Starting guide for using graph layout with JViews Diagrammer

EXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

7 Fractions. Number Sense and Numeration Measurement Geometry and Spatial Sense Patterning and Algebra Data Management and Probability

Multidimensional Indexing The R Tree

Transcription:

CS8B :: Nov Graph and Tree Layout Topics Graph and Tree Visualization Tree Layout Graph Layout Goals Overview of layout approaches and their strengths and weaknesses Insight into implementation techniques Jeffrey Heer Stanford University Graphs and Trees Graphs Model relations among data Nodes and edges Trees Graphs with hierarchical structure Connected graph with N- edges Nodes as parents and children

Spatial Layout The primary concern of graph drawing is the spatial arrangement of nodes and edges Often (but not always) the goal is to effectively depict the graph structure Connectivity, path-following Network distance Clustering Ordering (e.g., hierarchy level) Applications of Tree / Graph Layout Tournaments Organization Charts Genealogy Diagramming (e.g., Visio) Biological Interactions (Genes, Proteins) Computer Networks Social Networks Simulation and Modeling Integrated Circuit Design Tree Visualization Tree Layout Indentation Linear list, indentation encodes depth Node-Link diagrams Nodes connected by lines/curves Enclosure diagrams Represent hierarchy by enclosure Layering Relative position and alignment Tree layout is fast: O(n) or O(n log n), enabling real-time layout for interaction.

Indentation Places all items along vertically spaced rows Indentation used to show parent/child relationships Commonly used as a component in an interface Breadth and depth contend for space Often requires a great deal of scrolling Node-Link Diagrams Nodes are distributed in space, connected by straight or curved lines Typical approach is to use D space to break apart breadth and depth Often space is used to communicate hierarchical orientation (typically towards authority or generality) Basic Recursive Approach Repeatedly divide space for subtrees by leaf count Breadth of tree along one dimension Depth along the other dimension Problem: exponential growth of breadth Reingold & Tilford s Tidier Layout Goal: make smarter use of space, maximize density and symmetry. Originally for binary trees, extended by Walker to cover general case. This was corrected by Buchheim et al to achieve a linear time algorithm.

Reingold-Tilford Layout Design concerns Clearly encode depth level No edge crossings Isomorphic subtrees drawn identically Ordering and symmetry preserved Compact layout (don t waste space) 8

8 8 8 8

8 8 8 8

8 8 8 8

8 8 Linear algorithm starts with bottom-up pass of the tree Y-coord by depth, arbitrary starting X-coord Merge left and right subtrees Shift right as close as possible to left Computed efficiently by maintaining subtree contours Shifts in position saved for each node as visited Parent nodes are centered above their children Top-down pass for assignment of final positions Sum of initial layout and aggregated shifts Radial Layout Node-link diagram in polar co-ordinates. Radius encodes depth, with root in the center. Angular sectors assigned to subtrees (typically uses recursive approach). Reingold-Tilford approach can also be applied here.

Circular Drawing of Trees Drawing in D to form Cone Trees Balloon Trees can be described as a D variant of a Cone Tree. Not just a flattening process, as circles must not overlap. Problems with Node-Link Diagrams Scale Tree breadth often grows exponentially Even with tidier layout, quickly run out of space Possible solutions Filtering Focus+Context Scrolling or Panning Zooming Aggregation Visualizing Large Hierarchies Indented Layout Reingold-Tilford Layout MC Escher, Circle Limit IV

Hyperbolic Layout Perform tree layout in hyperbolic geometry, then project the result on to the Euclidean plane. Degree-of-Interest Trees [AVI ] Why? Like tree breadth, the hyperbolic plane expands exponentially! Also computable in D, projected into a sphere. Space-constrained, multi-focal tree layout Degree-of-Interest Trees Enclosure Diagrams Encode structure using spatial enclosure Popularly known as TreeMaps Benefits Provides a single view of an entire tree Easier to spot large/small nodes Cull un-interesting nodes on a per block basis until all blocks on a level fit within bounds. Attempt to center child blocks beneath parents. Problems Difficult to accurately read depth

TreeMaps Recursively fill space based on a size metric for nodes. Enclosure signifies hierarchy. Additional measures can be taken to control aspect ratio of cells. Often uses rectangles, but other shapes are possible, e.g., iterative Voronoi tesselation. Layered Diagrams Signify tree structure using Layering Adjacency Alignment Involves recursive sub-division of space We can apply the same set of approaches as in node-link layout. Icicle and Sunburst Trees Layered Tree Drawing Higher-level nodes get a larger layer area, whether that is horizontal or angular extent. Child levels are layered, constrained to parent s extent

Hybrids are also possible Elastic Hierarchies Node-link diagram with treemap nodes. Administrivia Final Project Design a new visualization system or technique Many options: new system, interaction technique, design study -8 page paper in conference paper format Presentations: in-class report & final poster session Schedule Project Proposal: Tuesday, Nov (end of day) In-Class Presentation: Tuesday, Nov Poster Presentation: Tuesday, Dec (-pm) Final Papers: Thursday, Dec (pm) Logistics Groups of up to people, graded individually Clearly report responsibilities of each member Final Project Ideas Read the Final Project Wiki Page! Also follow the links for suggested projects. A number of domain experts have provided project ideas and are excited to collaborate with you. We strongly encourage you to consider working in a partnership with a domain expert, especially if you have difficulty formulating a problem-focused project idea. Unsure? Come to office hours or schedule an appointment to discuss project ideas.

Final Project Proposal Deliverables Form project group (- people) Create project wiki page Post project abstract (- paragraphs) Should clearly state the problem, relevance & planned solution Start your related work search now to inform your proposal Graph Layout Due Tues Nov (by end of day) Approaches to Graph Drawing Direct Calculation using Graph Structure Tree layout on spanning tree Hierarchical layout Adjacency matrix layout Optimization-based Layout Constraint satisfaction Force-directed layout Attribute-Driven Layout Layout using data attributes, not linkage Spanning Tree Layout Many graphs are tree-like or have useful spanning trees Websites, Social Networks Use tree layout on spanning tree of graph Trees created by BFS / DFS Min/max spanning trees Fast tree layouts allow graph layouts to be recalculated at interactive rates Heuristics may further improve layout

Sugiyama-style graph layout Evolution of the UNIX operating system Hierarchical layering based on descent Spanning tree layout may result in arbitrary parent node Sugiyama-style graph layout Hierarchical graph layout Layer Layer Layer Layer Reverse edges to remove cycles Create dummy nodes to fill in missing layers Assign nodes to hierarchy layers Arrange nodes within layer, minimize edge crossings Route edges layout splines if needed Gnutella network

Limitations of Node-Link Layout Edge-crossings and occlusion Adjacency Matrices Node-link 8

Matrix Matrix Optimization Techniques Treat layout as an optimization problem Define layout using an energy model and/or a set of constraints: equations the layout should try to obey Use optimization algorithms to solve Regularly used for undirected graphs Force-Directed Layout most common We can introduce directional constraints DiG-CoLa (Di-Graph Constrained Optimization Layout) [Dwyer ] Iterative constraint relaxation Optimizing Aesthetic Constraints Minimize edge crossings Minimize area Minimize line bends Minimize line slopes Maximize smallest angle between edges Maximize symmetry but, can t do it all. Optimizing these criteria is often NP-Hard, requiring approximations.

Force-Directed Layout Nodes = charged particles F = G*m *m / (x i x j ) with air resistance F = -b * v i Edges = springs F = -k * (x i x j L) Repeatedly calculate forces, update node positions Naïve approach O(N ) Speed up to O(N log N) using quadtree or k-d tree Numerical integration of forces at each time step Constrained Optimization Layout Minimize stress function stress(x) = Σ i<j w ij ( X i -X j - d ij ) X: node positions, d: optimal edge length, w: normalization constants Use global (majorization) or localized (gradient descent) optimization Says: Try to place nodes d ij apart Add hierarchy ordering constraints E H (y) = Σ (i,j) E ( y i -y j - δ ij ) y: node y-coordinates δ : edge direction (e.g., for i j, for undirected) Says: If i points to j, it should have a lower y-value Sugiyama layout (dot) Preserve tree structure DiG-CoLa method Preserve edge lengths [Slide from Tim Dwyer]

[Slide from Tim Dwyer] Examples Iterative Constraint Relaxation Quadratic programming is complex to code and computationally costly. Is there a simpler way? Iteratively relax each constraint [Dwyer ] Given a constraint (e.g., x i x j = ) Simply push the nodes to satisfy Each relaxation may clobber prior results This typically (miraculously?) converges quickly and enables expressive constraints Attribute-Driven Layout Large node-link diagrams get messy! Is there additional structure we can exploit? Idea: Use data attributes to perform layout e.g., scatter plot based on node values Dynamic queries and/or brushing can be used to explore connectivity Attribute-Driven Layout The Skitter Layout Internet Connectivity Radial Scatterplot Angle = Longitude Geography Radius = Degree # of connections (a statistic of the nodes)

Semantic Substrates [Shneiderman ] Semantic Substrates [Shneiderman ] PivotGraph [Wattenberg ] Layout aggregated graphs according to node attributes. Analogous to pivot tables and trellis display. PivotGraph PivotGraph

Operators PivotGraph Matrices Roll-Up Aggregate items with matching data values Selection Filter on data values PivotGraph Matrix Limitations of PivotGraph Only variables (no nesting as in Tableau) Doesn t support continuous variables Multivariate edges? Hierarchical Edge Bundling

Trees with Adjacency Relations Bundle Edges along Hierarchy Configuring Edge Tension

Summary Tree Layout Indented / Node-Link / Enclosure / Layers How to address issues of scale? Filtering and Focus + Context techniques Graph Layout Tree layout over spanning tree Hierarchical Sugiyama Layout Optimization (Force-Directed Layout) Attribute-Driven Layout