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

B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

1

CS448B :: 10 Nov 2011

Graph and Tree Layout

Jeffrey Heer Stanford University

Topics

Graph and Tree VisualizationTree LayoutGraph Layout

GoalsOverview of layout approaches and their

strengths and weaknessesInsight into implementation techniques

Graphs and Trees

GraphsModel relations among dataNodes and edges

TreesGraphs with hierarchical structure

Connected graph with N-1 edges

Nodes as parents and children

Page 2: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

2

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-followingNetwork distanceClusteringOrdering (e.g., hierarchy level)

Applications of Tree / Graph Layout

TournamentsOrganization ChartsGenealogyDiagramming (e.g., Visio)Biological Interactions (Genes, Proteins)Computer NetworksSocial NetworksSimulation and ModelingIntegrated Circuit Design

Tree Layout

Tree Visualization

IndentationLinear list, indentation encodes depth

Node-Link diagramsNodes connected by lines/curves

Enclosure diagramsRepresent hierarchy by enclosure

LayeringRelative position and alignment

Tree layout is fast: O(n) or O(n log n), enabling real-time layout for interaction.

Page 3: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

3

IndentationPlaces 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 linesTypical approach is to use 2D space to break apart breadth and depthOften space is used to communicate hierarchical orientation (typically towards authority or generality)

Basic Recursive Approach

Repeatedly divide space for subtrees by leaf countBreadth of tree along one dimensionDepth along the other dimension

Problem: exponential growth of breadth

Reingold & Tilford’s Tidier LayoutGoal: 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.

Page 4: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

4

Reingold-Tilford Layout

Design concernsClearly encode depth levelNo edge crossingsIsomorphic subtrees drawn identicallyOrdering and symmetry preservedCompact layout (don’t waste space)

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

12

Reingold-Tilford Algorithm

0

Reingold-Tilford Algorithm

0

1

Page 5: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

5

Reingold-Tilford Algorithm

0

1

2

Reingold-Tilford Algorithm

0

1

2

3

Reingold-Tilford Algorithm

0

1

2

4

3

Reingold-Tilford Algorithm

0

1

2

4

3

5

Page 6: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

6

Reingold-Tilford Algorithm

0

1

2

4

3

5

Reingold-Tilford Algorithm

0

1

2

4

3

5

Reingold-Tilford Algorithm

0

1

2

4

3

5

Reingold-Tilford Algorithm

0

1

2

4

3

5

Page 7: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

7

Reingold-Tilford Algorithm

0

1

2 6

4

3

5

Reingold-Tilford Algorithm

0

1

2 6

4

3

5

Reingold-Tilford Algorithm

0

1

2 6

4

3

5

Reingold-Tilford Algorithm

0

1

2 6

4

3

5

Page 8: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

8

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8

9

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

Page 9: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

9

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

Page 10: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

10

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

Page 11: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

11

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

Reingold-Tilford Algorithm

0

1

2

7

6

4

3

5

8 10

9

11

12

Reingold-Tilford AlgorithmLinear algorithm – starts with bottom-up pass of the treeY-coord by depth, arbitrary starting X-coordMerge left and right subtrees

Shift right as close as possible to leftComputed efficiently by maintaining subtree contours

“Shifts” in position saved for each node as visitedParent nodes are centered above their children

Top-down pass for assignment of final positionsSum of initial layout and aggregated shifts

Radial LayoutNode-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.

Page 12: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

12

Circular Drawing of TreesDrawing in 3D to form Cone Trees

Balloon Trees can be described as a 2D variant of a Cone Tree. Not just a flattening process, as circles must not overlap.

Problems with Node-Link Diagrams

ScaleTree breadth often grows exponentiallyEven with tidier layout, quickly run out of space

Possible solutionsFilteringFocus+ContextScrolling or PanningZoomingAggregation

Visualizing Large Hierarchies

………

Indented Layout Reingold-Tilford LayoutMC Escher, Circle Limit IV

Page 13: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

13

Hyperbolic LayoutPerform tree layout in hyperbolic geometry, then project the result on to the Euclidean plane.

Why? Like tree breadth, the hyperbolic plane expands exponentially!

Also computable in 3D, projected into a sphere.

Degree-of-Interest Trees [AVI 04]

Space-constrained, multi-focal tree layout

Degree-of-Interest Trees

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.

Enclosure Diagrams

Encode structure using spatial enclosurePopularly known as TreeMaps

BenefitsProvides a single view of an entire treeEasier to spot large/small nodes

ProblemsDifficult to accurately read depth

Page 14: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

14

TreeMapsRecursively 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 Voronoitesselation.

Layered Diagrams

Signify tree structure usingLayeringAdjacencyAlignment

Involves recursive sub-division of space We can apply the same set of approaches as in node-link layout.

Icicle and Sunburst Trees

Higher-level nodes get a larger layer area, whether that is horizontal or angular extent.Child levels are layered, constrained to parent’s extent

Layered Tree Drawing

Page 15: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

15

Hybrids are also possible…

“Elastic Hierarchies”Node-link diagram with treemap nodes. Administrivia

Final ProjectDesign a new visualization system or techniqueMany options: new system, interaction technique, design study6-8 page paper in conference paper format2 Presentations: in-class report & final poster session

ScheduleProject Proposal: Tuesday, Nov 15 (end of day)In-Class Presentation: Tuesday, Nov 29Poster Presentation: Tuesday, Dec 13 (5-7pm)Final Papers: Thursday, Dec 15 (5pm)

LogisticsGroups of up to 4 people, graded individuallyClearly 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.

Page 16: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

16

Final Project Proposal

DeliverablesForm project group (1-4 people)Create project wiki pagePost project abstract (1-2 paragraphs)Should clearly state the problem, relevance & planned solution

Start your related work search now to inform your proposal

Due Tues Nov 15 (by end of day)

Graph Layout

Approaches to Graph Drawing

Direct Calculation using Graph StructureTree layout on spanning treeHierarchical layoutAdjacency matrix layout

Optimization-based LayoutConstraint satisfactionForce-directed layout

Attribute-Driven LayoutLayout using data attributes, not linkage

Spanning Tree Layout

Many graphs are tree-like or have useful spanning treesWebsites, Social Networks

Use tree layout on spanning tree of graphTrees created by BFS / DFSMin/max spanning trees

Fast tree layouts allow graph layouts to be recalculated at interactive ratesHeuristics may further improve layout

Page 17: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

17

Spanning tree layout may result in arbitrary parent node

Sugiyama-style graph layout

Evolution of the UNIX operating systemHierarchical layering based on descent

Sugiyama-style graph layout

Reverse edges to remove cyclesCreate dummy nodes to “fill in” missing layersAssign nodes to hierarchy layersArrange nodes within layer, minimize edge crossingsRoute edges – layout splines if needed

Layer 1

Layer 2

Layer 3

Layer 4

Hierarchical graph layout

Gnutella network

Page 18: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

18

Limitations of Node-Link Layout

Edge-crossings and occlusion Adjacency MatricesAdjacency Matrices

Node-link

Page 19: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

19

Matrix Matrix

Optimization TechniquesTreat layout as an optimization problem

Define layout using an energy model and/or a set of constraints: equations the layout should try to obeyUse optimization algorithms to solve

Regularly used for undirected graphsForce-Directed Layout most common

We can introduce directional constraintsDiG-CoLa (Di-Graph Constrained Optimization Layout) [Dwyer 05]

Iterative constraint relaxation

Optimizing “Aesthetic” Constraints

Minimize edge crossingsMinimize areaMinimize line bendsMinimize line slopesMaximize smallest angle between edgesMaximize symmetry

but, can’t do it all.Optimizing these criteria is often NP-Hard, requiring approximations.

Page 20: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

20

Force-Directed LayoutNodes = charged particles F = G*m1*m2 / (xi – xj)2

with air resistance F = -b * vi

Edges = springs F = -k * (xi – xj – L)

Repeatedly calculate forces, update node positionsNaïve approach O(N2)Speed up to O(N log N) using quadtree or k-d treeNumerical integration of forces at each time step

Constrained Optimization LayoutMinimize stress function

stress(X) = Σi<j wij ( ||Xi-Xj|| - dij )2

X: node positions, d: optimal edge length,w: normalization constantsUse global (majorization) or localized (gradient descent) optimization

Says: Try to place nodes dij apart

Add hierarchy ordering constraints EH(y) = Σ(i,j)∈E ( yi - yj - δij )2

y: node y-coordinatesδ : edge direction (e.g., 1 for i j, 0 for undirected)

Says: If i points to j, it should have a lower y-value

Sugiyama layout (dot)Preserve tree structure

DiG-CoLa methodPreserve edge lengths

[Slide from Tim Dwyer]

Page 21: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

21

Examples

[Slide from Tim Dwyer]

Iterative Constraint Relaxation

Quadratic programming is complex to code and computationally costly. Is there a simpler way?

Iteratively relax each constraint [Dwyer 09]

Given a constraint (e.g., | xi – xj | = 5)Simply push the nodes to satisfy

Each relaxation may clobber prior resultsThis 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 layoute.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)

Page 22: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

22

Semantic Substrates [Shneiderman 06]

Semantic Substrates [Shneiderman 06]

PivotGraph [Wattenberg 2006]

Layout aggregated graphs according to node attributes.Analogous to pivot tables and trellis display.

PivotGraph PivotGraph

Page 23: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

23

Operators

Roll-UpAggregate items with matching data values

SelectionFilter on data values

PivotGraph Matrices

PivotGraph Matrix

Limitations of PivotGraph

Only 2 variables (no nesting as in Tableau)Doesn’t support continuous variablesMultivariate edges? Hierarchical

Edge Bundling

Page 24: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

24

Trees with Adjacency Relations Bundle Edges along Hierarchy

Configuring Edge Tension

Page 25: B N Graph and Tree Layout - Stanford University · 11/10/2011  · Spanning Tree Layout Many graphs are tree-like or have useful spanning trees xWebsites, Social Networks Use tree

25

Summary

Tree LayoutIndented / Node-Link / Enclosure / LayersHow to address issues of scale?

Filtering and Focus + Context techniques

Graph LayoutTree layout over spanning treeHierarchical “Sugiyama” LayoutOptimization (Force-Directed Layout)Attribute-Driven Layout