tree and graph drawing

Post on 09-Jan-2016

73 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Tree and Graph Drawing. Jiun-Hung Chen Feb. 17, 2005. Outline. Tree Drawing Graph Drawing. Tree Drawing. Why Trees?. Hierarchies File systems and web sites Branching processes Genealogy and lineages Decision processes Decision trees and Tournaments. Two Major Representations. - PowerPoint PPT Presentation

TRANSCRIPT

Tree and Graph Tree and Graph DrawingDrawingJiun-Hung ChenJiun-Hung Chen

Feb. 17, 2005Feb. 17, 2005

OutlineOutline

Tree DrawingTree Drawing Graph DrawingGraph Drawing

Tree DrawingTree Drawing

Why Trees?Why Trees?

Hierarchies File systems and web sites

Branching processes Genealogy and lineages

Decision processes Decision trees and Tournaments

Two Major Two Major RepresentationsRepresentations

Node-LinkNode-Link Space FillingSpace Filling

Node-Link DiagramNode-Link Diagram Common: Root at Top and Leaves at BottomCommon: Root at Top and Leaves at Bottom

Classical Tree DrawingClassical Tree Drawing

How does one draw this?• DFS

Potential ProblemsPotential Problems

For top-down, width of fan-out uses For top-down, width of fan-out uses up horizontal real estate very up horizontal real estate very quicklyquickly At level n, there are 2At level n, there are 2n n nodesnodes

Tree might grow a lot along one Tree might grow a lot along one particular branchparticular branch

3D Approaches3D Approaches

Add a third dimension into which Add a third dimension into which layout can golayout can go

Children of a node are laid out in a Children of a node are laid out in a cylinder “below” the parentcylinder “below” the parent Siblings live in one of the 2D planesSiblings live in one of the 2D planes

Cone TreesCone Trees

Developed atXerox PARC

3D views ofhierarchiessuch as filesystems

Robertson, Mackinlay, Card ‘91

Alternate ViewsAlternate Views

2D Hyperbolic Browser2D Hyperbolic Browser

Approach:Approach: Lay out the Lay out the hierarchy on the hyperbolic hierarchy on the hyperbolic plane and map this plane plane and map this plane onto a display region.onto a display region.

ComparisonComparison A standard 2D browser: A standard 2D browser:

100 nodes (w/3 100 nodes (w/3 character text strings)character text strings)

Hyperbolic browser: Hyperbolic browser: 1000 nodes, about 50 1000 nodes, about 50 nearest the focus can nearest the focus can show from 3 to dozens of show from 3 to dozens of characterscharacters

Demo: Demo: http://www.inxight.com/

H3ViewerH3Viewer

Munzner, ‘98

Centrifugal ViewCentrifugal View

Directions

Contents Fisheye ViewContents Fisheye View

Downward tree of contents rooted at the Downward tree of contents rooted at the context “User JMZ”context “User JMZ”

Integrated Fisheye ViewIntegrated Fisheye View

Space-Filling Space-Filling RepresentationRepresentation

Each item occupies an area

Children are “contained” under parent

One example

TreemapTreemap

Space-filling representation Space-filling representation developed by Shneiderman and developed by Shneiderman and JohnsonJohnson

Children are drawn inside their Children are drawn inside their parentparent

Alternate horizontal and vertical Alternate horizontal and vertical slicing at each successive levelslicing at each successive level

Use area to encode other variable of Use area to encode other variable of data itemsdata items

Internet News GroupsInternet News Groups

Fiore & SmithMicrosoft

NetScan

ApplicationsApplications

Can use Treemap idea for a variety Can use Treemap idea for a variety of domainsof domains Basketball statisticsBasketball statistics Image BrowserImage Browser Stock MarketStock Market See how U.S. presidential candidates See how U.S. presidential candidates

compare with previous Presidents. compare with previous Presidents.

Graph DrawingGraph Drawing

Why Graphs?Why Graphs?

Connections throughout our lives Connections throughout our lives and the worldand the world Circle of friendsCircle of friends Computer networks…Computer networks… Relational databases with keysRelational databases with keys ……

Model connected set as a Model connected set as a GraphGraph

ApplicationsApplications

In information visualization, many In information visualization, many applicationsapplications Subway routesSubway routes Social networksSocial networks Network analysisNetwork analysis Link analysisLink analysis Citation analysisCitation analysis ……

What is a Graph?What is a Graph?

Vertices (nodes)Vertices (nodes)connected byconnected by

Edges (links)Edges (links)

1 2 30 1 01 0 10 1 0

123

1: 22: 1, 33: 2 1

32

Adjacency matrix

Adjacency list

Drawing

Drawing ConventionDrawing Convention

Graph DrawingGraph Drawing Find an aesthetic layout of the graph that Find an aesthetic layout of the graph that

clearly conveys its structureclearly conveys its structure Technically:Technically: Assign a location for each node Assign a location for each node

and a route for each edge, so that the and a route for each edge, so that the resulting drawing is “nice”resulting drawing is “nice”

A maze Layout by Tom Sawyer

Find an aesthetic layout of the graph that clearly conveys its Find an aesthetic layout of the graph that clearly conveys its structure.structure.

Technically:Technically: Assign a location for each node and a route for each Assign a location for each node and a route for each edge, so that the resulting drawing is “nice”.edge, so that the resulting drawing is “nice”.

V = {1,2,3,4,5,6}

E = {(1,2),(2,3),(1,4), (1,5),(3,4),(3,5), (4,5),(4,6),(5,6)}

Graph drawing

Graph Visualization Graph Visualization ProblemsProblems

Graph layout and positioningGraph layout and positioning Make a concrete rendering of abstract Make a concrete rendering of abstract

graphgraph ScaleScale

Not too much of a problem for small Not too much of a problem for small graphs, but large ones are much toughergraphs, but large ones are much tougher

NavigationNavigation How to support user changing focus and How to support user changing focus and

moving around the graphmoving around the graph

Aesthetic Criteria Minimize edge crossings Minimize area Total edge length Maximum edge length Uniform edge length Total bends Maximum bends Angular bends Aspect ratio Symmetry

Conflict

Minimize edge crossings

Maximize symmetry

Layout AlgorithmsLayout Algorithms

Topology-Shape-MetricsTopology-Shape-Metrics HierarchicalHierarchical Force-directedForce-directed

Topology – Shape – Topology – Shape – Metrics Metrics

PlanarizationPlanarization the graph is converted the graph is converted

into a 2d drawing where into a 2d drawing where the number of crossings the number of crossings are kept to a minimum. are kept to a minimum.

OrthogonalizationOrthogonalization the bends are made to the bends are made to

go at right angles and go at right angles and the vertices are aligned. the vertices are aligned.

CompactionCompaction the dummy vertices are the dummy vertices are

removed and the graph removed and the graph is made to take up a is made to take up a minimum amount of area minimum amount of area

Hierarchical Hierarchical Layer AssignmentLayer Assignment

Each vertex is assigned a layer Each vertex is assigned a layer LL, such that if there is an edge , such that if there is an edge from from uu to to vv, , uu and and uu’s layer is ’s layer is LiLi and and vv’s layer is ’s layer is LjLj, then , then ii<<jj. If . If there is a gap in between there is a gap in between layers, such as when there is an layers, such as when there is an edge from edge from L1L1 to to L3L3, a dummy , a dummy vertex is placed at vertex is placed at L2L2

Crossing reductionCrossing reduction the amount of times that edge the amount of times that edge

cross over is reduced to create cross over is reduced to create a more aesthetically pleasing a more aesthetically pleasing drawing. drawing.

X-coordinate assignmentX-coordinate assignment In this stage, all the points are In this stage, all the points are

assigned a position (x-assigned a position (x-coordinate), the dummy vertices coordinate), the dummy vertices are removed, and the edges are are removed, and the edges are all drawn. In this stage many all drawn. In this stage many different aesthetics can be different aesthetics can be stressed such as minimizing stressed such as minimizing bends or minimizing area. bends or minimizing area.

Force-directedForce-directed An energy model is An energy model is

associated with the graphassociated with the graph Ex: A spring model. (Repulsion Ex: A spring model. (Repulsion

+ Attraction)+ Attraction) In a force model, the force In a force model, the force

produced is directly proportional produced is directly proportional to the distance between the to the distance between the vertices that make up the edge. vertices that make up the edge.

Low energy states Low energy states correspond to nice layoutscorrespond to nice layouts

Hence, the drawing Hence, the drawing algorithm is an algorithm is an optimization processoptimization process

Initial (random) layoutFinal (nice) layoutIteration 1:Iteration 2:Iteration 3:Iteration 4:Iteration 5:Iteration 6:Iteration 7:Iteration 8:Iteration 9:

Demo: http://www.touchgraph.com/

Other issuesOther issues

Vertex Vertex Shape,Color, Size, Location, LabelShape,Color, Size, Location, Label

EdgeEdge Color, Size, Label, FormColor, Size, Label, Form

ScaleScale Run out of space for vertices and edges, slow Run out of space for vertices and edges, slow

down algorithmdown algorithm Often use Often use clusteringclustering to help to help

Extract highly connected sets of verticesExtract highly connected sets of vertices Collapse some vertices togetherCollapse some vertices together

1981http://www.mpi-fg-koeln.mpg.de/~lk/netvis/trade/WorldTrade.html

1992

SummarySummary

Tree and Graph DrawingTree and Graph Drawing Important and useful tools for many Important and useful tools for many

applicationsapplications Interesting and important research Interesting and important research

directionsdirections Large-scale, dynamic and efficient Large-scale, dynamic and efficient

visualizationvisualization

ReferenceReference

http://www.cc.gatech.edu/classes/AY2002/http://www.cc.gatech.edu/classes/AY2002/cs7450_spring/cs7450_spring/

http://graphics.stanford.edu/courses/cs448b-http://graphics.stanford.edu/courses/cs448b-04-winter/lectures/treesgraphs/04-winter/lectures/treesgraphs/tree.graph.pdftree.graph.pdf

http://www.cs.brown.edu/people/rt/papers/http://www.cs.brown.edu/people/rt/papers/gd-tutorial/gd-constraints.pdfgd-tutorial/gd-constraints.pdf

http://www.cs.umd.edu/hcil/treemap-history/http://www.cs.umd.edu/hcil/treemap-history/ http://davis.wpi.edu/~matt/courses/graphs/http://davis.wpi.edu/~matt/courses/graphs/

top related