Title: Marti Hearst
1SIMS 247 Lecture 10More on Distortion-based
ViewsHow many ways to show a graph?
2Today
- More on distortion techniques
- Perspective Wall
- Document Lens
- Hyperbolic Browser
- How many ways can we view a graph?
3Distortion Techniques
- Computation must take care not to let the
magnified part overlap or cover up the
de-magnified part - Must consider the boundary between the magnified
and the demagnified - Some techniques have an abrupt boundary
- Some are more gradual
4Perspective Wall (Mackinlay et al 91)
- Idea
- focus on a subpart of a table
- show the rest of the table in the periphery
- Goal
- help user retain an understanding of the context
of the part of the table they are focusing on
5Perspective Wall (Mackinlay et al. 91)
6Document Lens (Robertson Mackinlay 93)
- Goal show a long document in context
- Approach
- lay pages out in a grid (on a table)
- focus view on one page
- show rest of pages distorted into a pyramid-like
layout - use greeking and other techniques to simply
suggest what is on the other pages
7How many ways can we view a graph?
- Expand/contract hierarchy
- like a mac or windows file browser
- Hyperbolic tree browser
- Layout via dynamic arrangement
- 2D/3D force-directed placement
- Simulated annealing
- Cluster tree hierarchies
- Multitrees
- Cone Trees
- Treemaps
8Dynamic Grouping and Clustering
- Start with an initial (random) organization
- Apply a function to change the layout
- Repeat until some stopping condition is reached
- Two common techniques
- nodes and springs
- aka attraction and repulsion forces
- aka force-directed placement
- simulated annealing
9Force-Directed Placement(Fruchterman Rheingold
90)
- Also called attraction and repulsion and
nodes-and-springs - Works well on sparse graphs
- Edges modeled as springs that cause the vertices
on either end to be attracted to each other - Vertices are repulsive forces
- The repulsive forces balance the attractive
forces to keep vertices from ending up too close
together - The procedure iterates
- start with random placement
- compute attraction/repulsion
- do a new layout
- repeat until some stopping threshold is met
10Force-Directed Placement(Amir 93, based on
Fruchterman and Rheingold 90)
11Force-Directed Placement(Amir 93, based on
Fruchterman and Rheingold 90)
12Force-Directed Placement(Amir 93, based on
Fruchterman and Rheingold 90)
13Attraction and Repulsion Forces(Amir 93, based
on Fruchterman and Rheingold)
14Computing Layout
- The procedure iterates
- start with random placement
- compute attraction/repulsion
- do a new layout
- repeat until some stopping threshold is met
- Given two vertices v1 and v2
- Distance between v1 and v2 is x
153D Force-Directed Placement
- Hendley et al. paper shows 3D versions of
force-directed placement - They also group close-together nodes into
super-nodes
16Hyperbolic Browser
- Focus Context Technique
- detailed view blended with a global view
- First lay out the hierarchy on Poincare mapping
of the hyperbolic plane - Then map this plane to a disk
- Use animation to navigate along this
representation of the plane - Start with the trees root at the center
17Hyperbolic Browser
- In the hyperbolic plance, the circumference and
area of a circle grow exponentially with its
radius - Allocate each node a wedge of the hyperbolic
plane - The node recursively places all its children
within an arc of that wedge - at an equal distance from itself
- far enough out so the children are separated by
at least a minimum distance - Parallel lines diverge in hyperbolic geometry
- each childs wedge will span about the same angle
as its parents - but not childrens wedges will overlap
18Hyperbolic Tree Browser (Lamping et al. 95)
19Cluster Graphs (Eades and Qingwen 96)
- Simulated annealing and nodes-and-springs create
ball-like structures - Alternative draw tree in three dimensions
- put each level of the hierarchy on a different
plane - have tree-like properties between planes
- have graph-like properties within planes
20Cluster-graphs (Eades Qingwen 96)
tree-like between planes
graph-like within planes
21Cluster-graphs (Eades Qingwen 96)
two views of convex segmentation
22Cluster-graphs (Eades Qingwen 96)
two views of rectangular segmentation
23Cone-Trees (Robertson et al. 91)
- Lay tree out onto a multi-level cone
- Use animation psuedo-3D to deal with occlusion
- Use animation to grow and shrink subparts of the
tree
24ConeTrees (Robertson et al. 91)
25ConeTrees (Robertson et al. 91)
26Hyperbolic ConeTrees (Munzner et al. 96)Use
more of the surface than standard cone trees
27Hyperbolic ConeTrees (Munzner et al. 96)
28Multi-Trees (Furnas Zachs 94)
- Often we want more than one view on a tree
- Multi-trees convert the view of a dag (directed
acyclic graph) into a set of overlapping trees
29TreeMapsRepresent a hierarchy as boxes of
boxes(Shneiderman others )
30To Think About
- Are there other ways to show trees and graphs?
- Which of these are useful for what purposes?
- What is the role of animation/interaction?
- How well do they work in conjunction with labels?
- How well do they scale?