https://www.cs.ubc.ca/~tmm/courses/436V-20
Information Visualization Networks & Trees 1/2
Tamara Munzner Department of Computer Science University of British Columbia
Lect 14/15, Feb 27 & Mar 3 2020
Information Visualization Networks & Trees 1/2 Tamara Munzner - - PowerPoint PPT Presentation
Information Visualization Networks & Trees 1/2 Tamara Munzner Department of Computer Science University of British Columbia Lect 14/15, Feb 27 & Mar 3 2020 https://www.cs.ubc.ca/~tmm/courses/436V-20 Network data networks Dataset
https://www.cs.ubc.ca/~tmm/courses/436V-20
Lect 14/15, Feb 27 & Mar 3 2020
–model relationships between things
–two kinds of items, both can have attributes
–special case –no cycles
2
Dataset Types Tables
Attributes (columns) Items (rows) Cell containing value
Networks
Link Node (item)
Trees
Fields (Continuous)
Attributes (columns) Value in cell
Cell
Multidimensional Table
Value in cell
Grid of positions
3
4
5
[Beyer 2014]
6
–you want to visualize if and how often the friends have met each other –for each friend you have age, gender, and origin info
7
–path following
– hops from one node to another
– shortest path connects nodes i & j with smallest #
–topological hops different from geometric distance given specific layout
8
–node importance metrics
– number of links connected to a node – local measure of importance – average degree, degree distribution
9
–power law distributions are common
10
Protein interaction network, Barabasi
–node importance metrics
– how many shortest paths pass through a node – global measure of importance – good measure for overall relevance of node in network
11
12
–find paths –find (topological) neighbors –compare centrality/importance measures –identify clusters / communities
–find extreme values, ...
–topology: find all adjacent nodes of given node –attributes: find edges with maximum edge weight
13
14
Node–Link Diagrams Enclosure Adjacency Matrix
TREES NETWORKS
Connection Marks
TREES NETWORKS
Derived Table
TREES NETWORKS
Containment Marks
–straight lines or arcs –connections between nodes
–most common –many, many variants
15
TREES NETWORKS
Connection Marks
A C B D E
Free Styled Fixed
HJ Schulz 2006
–there are five nodes: A,B,C,D,E –each row in the table describes an edge A B C D C B A D A C B D D E A E
16
–edge crossings –distances between topological neighbor nodes –total drawing area –edge bends –edge length disparities (sometimes)
–angular distance between different edges –aspect ratio disparities
–similar graph structures should look similar in layout
17
18
Minimum number
vs. Uniform edge length Space utilization vs. Symmetry
Schulz 2004
–F(layout) = a*[crossing counts] + b*[drawing space used]+...
–energy-based physics models –force-directed placement –spring embedders
19
–links = springs pull together –nodes = magnets repulse apart
–place vertices in random locations –while not equilibrium
– sum of » pairwise repulsion of all nodes » attraction between connected nodes
20
Spring Coil (pulling nodes together) Expander (pushing nodes apart)
http://mbostock.github.com/d3/ex/force.html
–reasonable layout for small, sparse graphs –clusters typically visible –edge length uniformity
–nondeterministic –computationally expensive: O(n^3) for n nodes
–naive FD doesn't scale well beyond 1K nodes –iterative progress: engaging but distracting
21
https://bl.ocks.org/steveharoz/8c3e2524079a8c440df60c1ab72b5d03
– link connection marks, node point marks
– spatial position: no meaning directly encoded
– proximity semantics?
– long edges more visually salient than short
– explore topology; locate paths, clusters
– node/edge density E < 4N
22
http://mbostock.github.com/d3/ex/force.html
23
[Schulz 2004]
real vertex virtual vertex internal spring external spring virtual spring Metanode A Metanode B Metanode C
–original: network –derived: cluster hierarchy atop it
–better algorithm for same encoding technique
not shown explicitly
–nodes, edges: 1K-10K –hairball problem eventually hits
24
[Efficient and high quality force-directed graph drawing. Hu. The Mathematica Journal 10:37–71, 2005.]
http://www.research.att.com/yifanhu/GALLERY/GRAPHS/index1.html
– circular layouts – arc diagrams
– barycentric ordering before & after – derived attribute: global computation
25
http://profs.etsmtl.ca/mmcguffin/research/2012-mcguffin-simpleNetVis/mcguffin-2012-simpleNetVis.pdf
26
[Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data. Danny Holten. TVCG 12(5):741-748 2006]
27
[Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data. Danny Holten. TVCG 12(5):741-748 2006] Bundling Strength
28
http://mbostock.github.io/d3/talk/20111116/bundle.html
–route edges accordingly –edge bundling also applicable
29
https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919
30
A C B D E A B C D E A B C D E
31
HJ Schulz 2007
32
https://bost.ocks.org/mike/miserables/
33
Well suited for Not suited for
good for topology tasks related to neighborhoods (node 1-hop neighbors) bad for topology tasks related to paths
34
http://www.michaelmcguffin.com/courses/vis/patternsInAdjacencyMatrix.png
–transform into same data/encoding as heatmap
–1 quant attrib
–2 categ attribs: node list x 2
–cell shows presence/absence of edge
–1K nodes, 1M edges
35
[NodeTrix: a Hybrid Visualization of Social Networks. Henry, Fekete, and McGuffin. IEEE TVCG (Proc. InfoVis) 13(6):1302-1309, 2007.] [Points of view: Networks. Gehlenborg and
–topology understanding, path tracing –intuitive, flexible, no training needed
–focus on edges rather than nodes –layout straightforward (reordering needed) –predictability, scalability –some topology tasks trainable
–node-link best for small networks –matrix best for large networks
36
[On the readability of graphs using node-link and matrix-based representations: a controlled experiment and statistical analysis. Ghoniem, Fekete, and Castagliola. Information Visualization 4:2 (2005), 114–135.]
http://www.michaelmcguffin.com/courses/vis/patternsInAdjacencyMatrix.png
37
NodeTrix [Henry et al. 2007]
38
39
Here is part of a directory structure used for the material for this class and the relative file size. datavis-17/ lectures/ Intro.key (110 MB) perception/ Perception.key (113 MB) Blindness.mov (15MB) Data.key (12 MB) Graphs.key (180 MB) exams/ Exam1-solution.doc (5MB) Exam1.doc (1MB) exercise/ Graph.doc (3MB) Graph-video.doc (210MB)
Sketch two different visualizations that show both, the directory structure and the size of the directories and the contained files.
–tidy drawings of trees
–allocate space: compact w/o
–nice algorithm writeup
40
http://bl.ocks.org/mbostock/4339184 http://bl.ocks.org/mbostock/4063550
http://billmill.org/pymag-trees/
–tree
–link connection marks –point node marks –radial axis orientation
–understanding topology, following paths
–1K - 10K nodes
41
http://mbostock.github.com/d3/ex/tree.html
! " # $ " % " & ' ( ) * + * & , + ( $ #
. & / $ # " ( ) 1 $ 2 & , + ( $ # 2/00,%)('3(#,*(,#$ 4 ) $ # " # * 5 ) * " & 2 & , + ( $ # 6 $ # . $ 7 8 . $ .#"95 :$(;$$%%$++2$%(#"&)(' < ) % = > ) + ( " % * $ 6"?@&/;6)%2,( 35/#($+(A"(5+ 39"%%)%.B#$$ /9()0)C"()/%
" % ) " ( $ 7 " + ) % . @,%*()/%3$E,$%*$ )%($#9/&"($
2 / & / # F % ( $ # 9 / & " ( / # >"($F%($#9/&"(/# F%($#9/&"(/# 6"(#)?F%($#9/&"(/# G,0H$#F%($#9/&"(/# IHJ$*(F%($#9/&"(/# A / ) % ( F % ( $ # 9 / & " ( / # D $ * ( " % . & $ F % ( $ # 9 / & " ( / # F3*5$8,&"H&$ A " # " & & $ & A",+$ 3*5$8,&$# 3$E,$%*$ B#"%+)()/% B#"%+)()/%$# B # " % + ) ( ) / % 7 1 $ % ( B;$$% 8"(" * / % 1 $ # ( $ # + 2/%1$#($#+ >$&)0)($8B$?(2/%1$#($# K # " 9 5 6 < 2 / % 1 $ # ( $ # F>"("2/%1$#($# L3IG2/%1$#($# >"("@)$&8 >"("3*5$0" >"("3$( >"("3/,#*$ >"("B"H&$ > " ( " M ( ) & 8)+9&"' >)#('39#)($ <)%$39#)($ D$*(39#)($ B$?(39#)($ !$? @&"#$N)+ 9 5 ' + ) * + > # " . @ / # * $ K#"1)('@/#*$ F @ / # * $ G : / 8 ' @ / # * $ A"#()*&$ 3)0,&"()/% 3 9 # ) % . 39#)%.@/#*$ E,$#'
:)%"#'7?9#$++)/% 2/09"#)+/% 2/09/+)($7?9#$++)/% 2 / , % ( >"($M()& >)+()%*( 7?9#$++)/% 7?9#$++)/%F($#"(/# @ % F O F+- <)($#"& 6"(*5 6"?)0,0 0$(5/8+ "88 "%8 "1$#".$ */,%( 8)+()%*( 8)1 $E O% . ( .($ ) O O )+" &( & ( $ 0"? ) % 0/8 0,& % $ E %/( / # / # 8 $ # H ' # " % . $ +$&$*( +(88$1 + , H + , ,98"($ 1 " # ) " % * $ ; 5 $ # $ ?/# P 6)%)0,0 G/( I # Q , $ # ' D"%.$ 3 ( # ) % . M ( ) & 3 , N " # ) " H & $ N " # ) " % * $ R/# +*"&$ F 3 * " & $ 6 " 9 < ) % $ " # 3 * " & $ </.3*"&$ I#8)%"&3*"&$ Q,"%()&$3*"&$ Q,"%()("()1$3*"&$ D//(3*"&$ 3 * " & $ 3*"&$B'9$ B ) $ 3 * " & $ ,()&
2/&/#+ >"($+ > ) + 9 & " ' + @)&($# K$/0$(#' 5$"9 @ ) H / % " * * ) 4 $ " 9 4$"9G/8$ F 7 1 " & , " H & $ FA#$8)*"($ FN"&,$A#/?' 0"(5 >$%+$6"(#)? F6"(#)? 39"#+$6"(#)? 6"(5+ I#)$%("()/% 9"&$(($ 2/&/#A"&$(($ A"&$(($ 3 5 " 9 $ A " & $ ( ( $ 3)C$A"&$(($ A#/9$#(' 3 5 " 9 $ + 3/#( 3("(+ 3(#)%.+ 1)+ "?)+
) +
2 " # ( $ + ) " %
$ + */%(#/&+
2&)*=2/%(#/& 2 / % ( # / & 2/%(#/&<)+( >#".2/%(#/& 7?9"%82/%(#/& 4 / 1 $ # 2 / % ( # / & F2/%(#/& A"%S//02/%(#/& 3$&$*()/%2/%(#/& B / / & ( ) 9 2 / % ( # / & 8"(" >"(" >"("<)+( >"("39#)($ 78.$39#)($ G/8$39#)($ #$%8$#
78.$D$%8$#$# FD$%8$#$# 35"9$D$%8$#$# 3*"&$:)%8)%. B#$$ B#$$:,)&8$# $1$%(+ >"("71$%( 3 $ & $ * ( ) / % 7 1 $ % ( B//&()971$%( N ) + , " & ) C " ( ) / % 7 1 $ % ( &$.$%8 <$.$%8 <$.$%8F($0 < $ . $ % 8 D " % . $ /9$#"(/# 8)+(/#()/% :)O/*"&>)+(/#()/% >)+(/#()/% @ ) + 5 $ ' $ > ) + ( / # ( ) / % $%*/8$# 2/&/#7%*/8$# 7 % * / 8 $ # A#/9$#('7%*/8$# 35"9$7%*/8$# 3)C$7%*/8$# T&($# @)+5$'$B#$$@)&($# K#"95>)+("%*$@)&($# N ) + ) H ) & ) ( ' @ ) & ( $ # F I 9 $ # " ( / # & " H $ & <"H$&$# D " 8 ) " & < " H $ & $ # 3("*=$8-#$"<"H$&$# &"'/,(
: , % 8 & $ 8 7 8 . $ D / , ( $ # 2)#*&$<"'/,( 2)#*&$A"*=)%.<"'/,( > $ % 8 # / . # " < " ' / , ( @ / # * $ > ) # $ * ( $ 8 < " ' / , ( F * ) * & $ B # $ $ < " ' / , ( F%8$%($8B#$$<"'/,( <"'/,( G/8$<)%=B#$$<"'/,( A ) $ < " ' / , ( D " 8 ) " & B # $ $ < " ' / , ( D"%8/0<"'/,( 3("*=$8-#$"<"'/,( B#$$6"9<"'/,( I 9 $ # " ( / # I 9 $ # " ( / # < ) + ( I 9 $ # " ( / # 3 $ E , $ % * $ I9$#"(/#3;)(*5 3 / # ( I 9 $ # " ( / # N)+,"&)C"()/%
42
Treemap Sunburst Icicle Plot
–tree –1 quant attrib at leaf nodes
–area containment marks for hierarchical structure –rectilinear orientation –size encodes quant attrib
–query attribute at leaf nodes
–1M leaf nodes
43
http://tulip.labri.fr/Documentation/3_7/userHandbook/html/ch06.html
44
45
Only Leaves Visible Inner Nodes and Leaves Visible
–common case in network drawing –1D case: connection
–2D case: containment
46
Node–Link Diagram Treemap
[Elastic Hierarchies: Combining Treemaps and Node-Link
2005, p. 57-64.]
Containment Connection
– link relationships – tree depth – sibling order
– connection vs containment link marks – rectilinear vs radial layout – spatial position channels
– redundant? arbitrary? – information density?
47
[Quantifying the Space-Efficiency of 2D Graphical Representations of
Visualization 9:2 (2010), 115–140.]
48
https://treevis.net/
49
–network –cluster hierarchy atop it
–connection marks for network links –containment marks for hierarchy –point marks for nodes
–select individual metanodes in hierarchy to expand/ contract
[GrouseFlocks: Steerable Exploration of Graph Hierarchy Space. Archambault, Munzner, and Auber. IEEE TVCG 14(4): 900-913, 2008.] Graph Hierarchy 1
50
51