Relational Data Hierarchies CSC544 Why hierarchies? - - PowerPoint PPT Presentation

relational data hierarchies
SMART_READER_LITE
LIVE PREVIEW

Relational Data Hierarchies CSC544 Why hierarchies? - - PowerPoint PPT Presentation

Relational Data Hierarchies CSC544 Why hierarchies? http://www.sci.utah.edu/~miriah/cs6630/lectures/L13-trees-graphs.pdf Scatterplots; dot plots; line charts, etc. Until now, our data points were independent of one another In


slide-1
SLIDE 1

Relational Data Hierarchies

CSC544

slide-2
SLIDE 2

Why hierarchies?

http://www.sci.utah.edu/~miriah/cs6630/lectures/L13-trees-graphs.pdf

slide-3
SLIDE 3

Until now, our data points were “independent of one another” Scatterplots; dot plots; line charts, etc.

slide-4
SLIDE 4

In “relational data”, it’s the relationship between points that matters

slide-5
SLIDE 5
  • The reports-to relationship in an organization
slide-6
SLIDE 6
  • The “tree of life”
  • evolution of species creates branching

mechanism and “ancestor-of” relationship

slide-7
SLIDE 7

Tree Hierarchy

  • “Rooted tree”: Every node has exactly one “parent”

node, except for the root, which has none

slide-8
SLIDE 8

What do we want our drawings to show?

  • Who reports to whom
  • … and who doesn’t
  • How big are sub-trees
  • etc
slide-9
SLIDE 9

Many different ways to visualize trees

slide-10
SLIDE 10

http://homes.cs.washington.edu/~jheer/files/zoo/ex/hierarchies/tree.html

slide-11
SLIDE 11

http://www.cs.rug.nl/svcg/SoftVis/ViewFusion

slide-12
SLIDE 12

http://jsfiddle.net/VividD/WDCpq/8/

slide-13
SLIDE 13

Reingold-Tilford binary tree drawing

  • aesthetics: properties which we believe are responsible for good drawings
  • 1) nodes at same level of tree should lie along a horizontal line
  • 2) left child should be positioned to the left of parent; same with right

child

  • 3) parent should be centered over children
  • 4) subtree drawing should be independent of subtree position on general

drawing, and tree and “its mirror” should produce mirror drawings of one another

http://hci.stanford.edu/courses/cs448b/f11/lectures/ CS448B-20111110-GraphsAndTrees.pdf

slide-14
SLIDE 14

Reingold-Tilford tree drawing

http://www.reingold.co/tidier-drawings.pdf

slide-15
SLIDE 15

Reingold-Tilford Algorithm

  • Bottom-up tree traversal
  • y-coord is the depth of the node, x-coords are “locally defined” (so

first is arbitrary)

  • merge trees
  • push right tree as close as possible to left tree (this is where the

contour comes in)

  • position shifts saved at each node
  • parent nodes are centered above direct children
  • Final top-down pass to convert shifts to positions
slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18
slide-19
SLIDE 19
slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45

Reingold-Tilford Algorithm,

  • nce again
  • Bottom-up tree traversal
  • y-coord is the depth of the node, x-coords are “locally defined” (so

first is arbitrary)

  • merge trees
  • push right tree as close as possible to left tree (this is where the

contour comes in)

  • position shifts saved at each node
  • parent nodes are centered above direct children
  • Final top-down pass to convert shifts to positions
slide-46
SLIDE 46

Bubble Charts

  • Represent hierarchy by containment
  • Let’s work out a simple algo!
slide-47
SLIDE 47

Treemaps

  • Represent hierarchy by containment,
  • … and sizes by areas
  • Let’s work out a simple algo!
slide-48
SLIDE 48

Squarified Treemaps

  • A little harder, tries to make square shapes
slide-49
SLIDE 49

Not all Hierarchies are Trees

slide-50
SLIDE 50

Given what we know about tree drawing, how do we draw a DAG?

slide-51
SLIDE 51

The evolution of UNIX

http://www.graphviz.org/Gallery/directed/unix.svg

slide-52
SLIDE 52

The evolution of UNIX

http://www.graphviz.org/Gallery/directed/unix.svg

slide-53
SLIDE 53

Directed, Acyclic Graphs

  • Like a hierarchy, but “direct ancestor” is not unique
slide-54
SLIDE 54

Let’s draw a DAG

  • Compute rank: height of node
  • Requirement: if aRb, height(a) > height(b)
  • Order nodes of same rank to minimize crossings
  • This is known as a “Sugiyama layout” for its

inventor

  • Gansner et al., A Technique for Drawing Directed
  • Graphs. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=221135
slide-55
SLIDE 55

Let’s draw a DAG

  • Gansner et al., A Technique for Drawing Directed
  • Graphs. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=221135
slide-56
SLIDE 56

Given what we know about treemaps, can we draw a DAG?

slide-57
SLIDE 57

Euler Diagrams (Venn Diagrams)

slide-58
SLIDE 58

Euler Diagrams

  • Represent relationship by

containment

  • Algorithms are very

complicated, tend to produce bad shapes

slide-59
SLIDE 59

Euler Diagrams

  • Doesn’t scale to large

diagrams

http://raweb.inria.fr/rapportsactivite/RA2009/gravite/3.png

slide-60
SLIDE 60

Euler Diagrams

  • Doesn’t scale to “large”

diagrams

64 regions 16 regions

slide-61
SLIDE 61

Recap

Not a Hierarchy Hierarchy Not a Tree NEXT Sugiyama’s algorithm Euler Diagrams A Tree NEXT Reingold-Tilford Treemaps