Post on 17-Jan-2016
Cours de Visualisation d'InformationInfoVis Lecture
Hierarchies and Trees 1
Frédéric VernierEnseignant-Chercheur LIMSI-CNRS
Maître de conf Paris XI
Inspired from CS 7450 - Information Visualization
Jan. 10, 2002
John Stasko
2From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Hierarchies
DefinitionData repository in which cases are related
to subcasesCan be thought of as imposing an
ordering in which cases are parents or ancestors of other cases
3From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Hierarchies in the World
PervasiveFamily histories, ancestriesFile/directory systems on computersOrganization chartsAnimal kingdom: Phylum,…, genus,…Object-oriented software classesSpecies history
Y axis = timeIs it really discrete ?
4From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Trees
Hierarchies often represented as treesDirected, acyclic graph
Two main representation schemesNode-link (1/2)Space-filling (2/2)
5From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Node-Link Diagrams
Root at top, leaves at bottom is very common
Or left->right
Aligned / no brotherhood
6From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Sample Representation
Johnson & Shneiderman, ‘91
7From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Examples
Good for?
Bad for?
Search
Understanding structure
8From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Why Put Root at Top?
Root can be atcenter with levelsgrowing outwardtoo
Can any nodebe the root?
Pre-attentively ?
9From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Drawing a Tree
How does one draw this?• DFS• Percolate requirements upward
10From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Potential Problems
For top-down, width of fan-out uses up horizontal real estate very quicklyAt level n, there are 2n nodes for binary
treeTree might grow a lot along one
particular branchHard to draw it well in view without
knowing how it will branch
11From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
InfoVis Solutions
Techniques developed in Information Visualization largely try to assist the problems identified in the last slide
Alternatively, Information Visualization techniques attempt to show more attributes of data cases in hierarchy or focus on particular applications of trees
12From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
3D Approaches
Add a third dimension into which layout can go
Compromise of top-down and centered techniques mentioned earlier
Children of a node are laid out in a cylinder “below” the parentSiblings live in one of the 2D planes
13From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Cone Trees
Developed atXerox PARC
3D views ofhierarchiessuch as filesystems
Robertson, Mackinlay, Card ‘91
14From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Alternate Views
15From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Cone Trees
PositiveMore effective area
to lay out treeUse of smooth
animation to help person track updates
Aesthetically pleasing
NegativeAs in all 3D, occlusion
obscures some nodesNon-trivial to
implement and requires some graphics horsepower
Read in perspectiveDifficult if too muchAnti-aliasing = more
horsepowerBigger font = lost of
screen real estate
16From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Alternative Solutions
Change the geometryApply a hyperbolic transformation to
the spaceRoot is at center, subordinates aroundApply idea recursively, distance
decreases between parent and child as you move farther from center, children go in wedge rather than circle
17From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Hyperbolic Browser
Focus + Context TechniqueDetailed view blended with a global
viewFirst lay out the hierarchy on the
hyperbolic planeThen map this plane to a diskStart with the tree’s root at the
center Use animation to navigate along this
representation of the plane
Lamping and Rao, ‘94
18From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
2D Hyperbolic Browser
Approach: Lay out the hierarchy on the hyperbolic plane and map this plane onto a display region.
Comparison A standard 2D browser:
100 nodes (w/3 character text strings)
Hyperbolic browser: 1000 nodes, about 50 nearest the focus can show from 3 to dozens of characters
19From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
1 2
54
3
Clicking on the bluenode brings it into focus at the center
20From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Watch it Work
Demo from Inxight web site
21From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Key Attributes
Natural magnification (fisheye) in center
Layout depends only on 2-3 generations from current node
Smooth animation for change in focusDon’t draw objects when far enough
from root (simplify rendering)
22From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Problems
OrientationWatching the view can be disorientingWhen a node is moved, its children don’t
keep their relative orientation to it as in Euclidean plane, they rotate
Not as symmetric and regular as Euclidean techniques, two important attributes in aesthetics
23From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
How about 3D?
Can same hyperbolic transformation be applied, but now use 3D space?
Sure canHave fun with the math!
24From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
H3Viewer
Munzner, ‘98
Video
25From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Layout
Find a spanning tree from an input graphUse domain-specific knowledge
Layout algorithmNodes are laid out on the surface of a
hemisphereA bottom-up pass to estimate the radius
needed for each hemisphereA top-down pass to place each child
node on its parental hemisphere’s surface
26From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Drawing
Maintain a target frame by showing less of the context surrounding the node of interest during interactive browsing
Fill in more of the surrounding scene when the user is idle
27From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Navigation
Translation of a node to the center
Rotation around the same node
28From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Performance
Handle much larger graphs, i.e. >100,000 edges
Support dynamic exploration & interactive browsing
Maintain a guaranteed frame rate
http://graphics.stanford.edu/~munzner/
29From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
See the Forest...
How about collections of trees? (Forests)
Multitrees (M-trees)“A class of directed acyclic graphs (DAGs)
… (that) have large easily identifiable substructures that are trees.”
M-trees are DAGs, not trees, but…Furnas & Zacks, ‘94
30From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Multitrees are DAGs
Can be built by adding new tree structure above existing subtrees
The descendants of any node form a tree of contents
Diamonds are (mostly) not permittedThe ancestors of any node form a tree
of contexts
31From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Example
32From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Composition
33From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
No Diamonds
Diamonds are not permitted
Occurs when there are 2 distinct directed paths between 2 nodes.
At most one directed path between 2 nodes.
34From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Multitrees contain Topological Trees
Topological tree or t-tree: an undirected graph, that is a connected graph without cycles
M-trees are not t-trees; they have undirected cycles
However, m-trees contain large t-trees.
The ancestors and descendants of a unique path is a t-tree
35From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Centrifugal View
A view of the ancestors (context) and descendants (children) of an individual (interior) node
Transitions between centrifugal views can be animated
36From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Centrifugal View
Directions
37From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Contents Fisheye View
Downward tree of contents rooted at the context “User JMZ”
38From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Contexts Fisheye View
Inverted tree of contexts rooted at the content “Directions”
39From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Integrated Fisheye View
40From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Diamonds Are Forever
Sometimes, diamonds will not go away
People want to put the same item in more than one place in the tree.A set of documents organized both
alphabetically and by dateTelephone directory designed for lookup
by name or by phone numberOrganize sub-m-trees beneath more
general structures at the diamond level
41From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Organization of Roots
No top-down structure over the set of all roots
To guarantee a view of all roots, introduce an “artificial” leaf (descendant of all roots), whose upward view (by design) is a tree of all roots
42From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Multitree Issues
Reuse out of contextWhen constructing a m-tree, fragments
may not hang togetherAdd or include new fragments to relate
pieces in the new m-treeConstruction
By hand is the most common way.Perhaps automatic, along hypertext
links, so long as no 2 hyperlink paths lead back to the same page!
43From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Food for Thought
Which of these techniques are useful for what purpose?
How well do they scale?
What if we want to portray more variables of each case?
44From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
References
Spence and CMS texts
All referred to papers
Cai & Krohne and Pan & Wang F ‘99
slides
45From J. Stasko lecture - CS 7450 – Spring 2002 – Georgia
Tech
Upcoming
Space-filling tree representationsGraphs and networks