Title: Trees and Hierarchies 1
1Trees and Hierarchies 1
- CS 7450 - Information Visualization
- October 5, 2000
2Hierarchies
- Definition
- Data repository in which cases are related to
subcases - Can be thought of as imposing an ordering in
which cases are parents or ancestors of other
cases
3Hierarchies in the World
- Pervasive
- Family histories, ancestries
- File/directory systems on computers
- Organization charts
- Animal kingdom Phylum,, genus,
- Object-oriented software classes
- ...
4Trees
- Hierarchies often represented as trees
- Node-link diagram
- Root at top, leaves at bottom
5Sample Representation
Johnson Shneiderman, 91
6Why Put Root at Top?
Root can be at center with levels growing
outward too
7Drawing a Tree
- How does one draw this?
- DFS
- Percolate reqts upward
8Potential Problems
- For top-down, width of fan-out uses up horizontal
real estate very quickly - At level n, there are 2n nodes
- Tree might grow a lot along one particular branch
- Hard to draw it well in view without knowing how
it will branch
9InfoVis 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
10CHEOPS
- CHEOPS A Compact Explorer For Complex
Hierarchies - CRIM's Hierarchical Engine for OPen Search
Beaudoin, Parent, Vroomen, 96
11CHEOPS Motivation
- As hierarchies get larger, they grow
exponentially - n max children per node
- k depth
12What CHEOPS Is
- Compressed visualization of hierarchical data,
using triangle tessellation - Most or all of the hierarchy can be displayed at
once - Since no Degree-of-Interest (DOI) function
required, no major recalculation required when
focus changes.
13Triangle Tessellation
- Overlap/tile the triangles
- The visual object 5 is overloaded with the
logical nodes E and F - Insert overlapping triangles between logical nodes
http//www.crim.ca/hci/cheops/compress.html
14What Tessellation Does
- CHEOPS reuses visual components through alternate
branch deployment - Growth reduced to linear-quadratic
15What Tessellation Does (2)
- To get a branch, select a node.
- The branch for the selected node will be
deployed - All parent nodes implicitly selected, as well.
http//www.crim.ca/hci/cheops/selection.html
16Getting A Branch With Reused Objects
- Selection
- By selecting a node, the user sets a reference
state in the hierarchy - Pre-selection
- As the cursor enters a triangle, the branch is
highlighted, but not selected - Mouse-click to cycle through branches
Deployment of Natural Sciences
Pre-selection of Evolution
17Uses for CHEOPS
- Overview
- http//www.crim.ca/hci/cheops/index1.html
- Cool Family Tree applet
- http//www.crim.ca/ipsi/cheops/Family.html
183D 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 parent - Siblings live in one of the 2D planes
19Cone Trees
Developed at Xerox PARC 3D views
of hierarchies such as file systems
Robertson, Mackinlay, Card 91
Video
20Alternate Views
21Another 3D Tree
Video
22Cone Trees
- Positive
- More effective area to lay out tree
- Use of smooth animation to help person track
updates - Aesthetically pleasing
- Negative
- As in all 3D, occlusion obscures some nodes
- Non-trivial to implement and requires some
graphics horsepower
23Alternative Solutions
- Change the geometry
- Apply a hyperbolic transformation to the space
- Root is at center, subordinates around
- Apply idea recursively, distance decreases
between parent and child as you move farther from
center, children go in wedge rather than circle
24Hyperbolic Browser
- Focus Context Technique
- Detailed view blended with a global view
- First lay out the hierarchy on the hyperbolic
plane - Then map this plane to a disk
- Start with the trees root at the center
- Use animation to navigate along this
representation of the plane
Lamping and Rao, 94
252D 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
261
2
3
Clicking on the blue node brings it into focus
at the center.
4
5
27Watch it Work
- Video
- Demo from Inxight web site
- Live demo from laptop showing file system
28Key Attributes
- Natural magnification (fisheye) in center
- Layout depends only on 2-3 generations from
current node - Smooth animation for change in focus
- Dont draw objects when far enough from root
(simplify rendering)
29Problems
- Orientation
- Watching the view can be disorienting
- When a node is moved, its children dont 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
30How about 3D?
- Can same hyperbolic transformation be applied,
but now use 3D space? - Sure can
- Have fun with the math!
31H3Viewer
Munzner, 98
Video
32Layout
- Find a spanning tree from an input graph
- Use domain-specific knowledge
- Layout algorithm
- Nodes are laid out on the surface of a hemisphere
- A bottom-up pass to estimate the radius needed
for each hemisphere - A top-down pass to place each child node on its
parental hemispheres surface -
33Drawing
- 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.
34Navigation
Translation of a node to the center
Rotation around the same node
35Performance
- Handle much larger graphs, i.e. gt100,000 edges
- Support dynamic exploration interactive
browsing - Maintain a guaranteed frame rate
-
http//graphics.stanford.EDU/munzner/
36See the Forest...
- 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
37Multitrees 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 permitted
- The ancestors of any node form a tree of contexts
38Example
39Composition
40No Diamonds
- Diamonds are not permitted
- Occurs when there are 2 distinct directed paths
between 2 nodes. - At most one directed path between 2 nodes.
41Multitrees 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
42Centrifugal View
- A view of the ancestors (context) and descendants
(children) of an individual (interior) node - Transitions between centrifugal views can be
animated
43Centrifugal View
Directions
44Contents Fisheye View
- Downward tree of contents rooted at the context
User JMZ
45Contexts Fisheye View
- Inverted tree of contexts rooted at the content
Directions
46Integrated Fisheye View
47Diamonds 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 date - Telephone directory designed for lookup by name
or by phone number - Organize sub-m-trees beneath more general
structures at the diamond level
48Organization 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
49Multitree Issues
- Reuse out of context
- When constructing a m-tree, fragments may not
hang together - Add or include new fragments to relate pieces in
the new m-tree - Construction
- 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!
50Food 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?
51More to Come
- Next class Space-filling tree representations
- George Robertson gives a GVU Distinguished
lecture on Nov. 30 about visualizing hierarchies
52References
- Spence and CMS texts
- All referred to papers
- Cai Krohne and Pan Wang F 99 slides