idiom: force-directed placement idiom: sfdp node-link diagrams · idiom: force-directed placement...

2
http://www.cs.ubc.ca/~tmm/courses/547-14/#chap9 Chap 9:Arrange Networks Paper: Topological Fisheye Networks Tamara Munzner Department of Computer Science University of British Columbia Information Visualization, CPSC 547 Oct 8 2014 2 Arrange networks and trees Node-link Diagrams Enclosure Adjacency Matrix TREES NETWORKS Connections and Marks TREES NETWORKS Derived Table TREES NETWORKS Containment Marks Idiom: force-directed placement visual encoding – link connection marks, node point marks • considerations – spatial position: no meaning directly encoded • left free to minimize crossings – proximity semantics? • sometimes meaningful • sometimes arbitrary, artifact of layout algorithm • tension with length – long edges more visually salient than short • tasks – explore topology; locate paths, clusters • scalability – node/edge density E < 4N 3 http://mbostock.github.com/d3/ex/force.html Idiom: sfdp (multi-level force-directed placement) • data – original: network –derived: cluster hierarchy atop it • considerations – better algorithm for same encoding technique • same: fundamental use of space • hierarchy used for algorithm speed/quality but not shown explicitly • (more on algorithm vs encoding in afternoon) • scalability –nodes, edges: 1K-10K – hairball problem eventually hits 4 [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 Idiom: adjacency matrix view • data: network – transform into same data/encoding as heatmap • derived data: table from network – 1 quant attrib • weighted edge between nodes – 2 categ attribs: node list x 2 • visual encoding – cell shows presence/absence of edge • scalability – 1K nodes, 1M edges 5 [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 Wong. Nature Methods 9:115.] Connection vs. adjacency comparison • adjacency matrix strengths –predictability, scalability, supports reordering – some topology tasks trainable • node-link diagram strengths – topology understanding, path tracing – intuitive, no training needed • empirical study – node-link best for small networks – matrix best for large networks • if tasks don’t involve topological structure! 6 [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 Idiom: radial node-link tree • data – tree • encoding – link connection marks – point node marks – radial axis orientation • angular proximity: siblings • distance from center: depth in tree • tasks – understanding topology, following paths • scalability – 1K - 10K nodes 7 http://mbostock.github.com/d3/ex/tree.html !"#$ "%"&'()*+ *&,+($# -..&/0$#"()1$2&,+($# 2/00,%)('3(#,*(,#$ 4)$#"#*5)*"&2&,+($# 6$#.$78.$ .#"95 :$(;$$%%$++2$%(#"&)(' <)%=>)+("%*$ 6"?@&/;6)%2,( 35/#($+(A"(5+ 39"%%)%.B#$$ /9()0)C"()/% -+9$*(D"()/:"%=$# "%)0"($ 7"+)%. @,%*()/%3$E,$%*$ )%($#9/&"($ -##"'F%($#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#"%+)()/%71$%( B;$$% 8"(" */%1$#($#+ 2/%1$#($#+ >$&)0)($8B$?(2/%1$#($# K#"956<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)+ 95'+)*+ >#".@/#*$ K#"1)('@/#*$ F@/#*$ G:/8'@/#*$ A"#()*&$ 3)0,&"()/% 39#)%. 39#)%.@/#*$ E,$#' -..#$."($7?9#$++)/% -%8 -#)(50$()* -1$#".$ :)%"#'7?9#$++)/% 2/09"#)+/% 2/09/+)($7?9#$++)/% 2/,%( >"($M()& >)+()%*( 7?9#$++)/% 7?9#$++)/%F($#"(/# @% FO F+- <)($#"& 6"(*5 6"?)0,0 0$(5/8+ "88 "%8 "1$#".$ */,%( 8)+()%*( 8)1 $E O% .( .($ )OO )+" &( &($ 0"? 0)% 0/8 0,& %$E %/( /# /#8$#H' #"%.$ +$&$*( +(88$1 +,H +,0 ,98"($ 1"#)"%*$ ;5$#$ ?/# P 6)%)0,0 G/( I# Q,$#' D"%.$ 3(#)%.M()& 3,0 N"#)"H&$ N"#)"%*$ R/# +*"&$ F3*"&$6"9 <)%$"#3*"&$ </.3*"&$ I#8)%"&3*"&$ Q,"%()&$3*"&$ Q,"%()("()1$3*"&$ D//(3*"&$ 3*"&$ 3*"&$B'9$ B)0$3*"&$ ,()& -##"'+ 2/&/#+ >"($+ >)+9&"'+ @)&($# K$/0$(#' 5$"9 @)H/%"**)4$"9 4$"9G/8$ F71"&,"H&$ FA#$8)*"($ FN"&,$A#/?' 0"(5 >$%+$6"(#)? F6"(#)? 39"#+$6"(#)? 6"(5+ I#)$%("()/% 9"&$(($ 2/&/#A"&$(($ A"&$(($ 35"9$A"&$(($ 3)C$A"&$(($ A#/9$#(' 35"9$+ 3/#( 3("(+ 3(#)%.+ 1)+ "?)+ -?$+ -?)+ -?)+K#)8<)%$ -?)+<"H$& 2"#($+)"%-?$+ */%(#/&+ -%*5/#2/%(#/& 2&)*=2/%(#/& 2/%(#/& 2/%(#/&<)+( >#".2/%(#/& 7?9"%82/%(#/& 4/1$#2/%(#/& F2/%(#/& A"%S//02/%(#/& 3$&$*()/%2/%(#/& B//&()92/%(#/& 8"(" >"(" >"("<)+( >"("39#)($ 78.$39#)($ G/8$39#)($ #$%8$# -##/;B'9$ 78.$D$%8$#$# FD$%8$#$# 35"9$D$%8$#$# 3*"&$:)%8)%. B#$$ B#$$:,)&8$# $1$%(+ >"("71$%( 3$&$*()/%71$%( B//&()971$%( N)+,"&)C"()/%71$%( &$.$%8 <$.$%8 <$.$%8F($0 <$.$%8D"%.$ /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)&)('@)&($# FI9$#"(/# &"H$& <"H$&$# D"8)"&<"H$&$# 3("*=$8-#$"<"H$&$# &"'/,( -?)+<"'/,( :,%8&$878.$D/,($# 2)#*&$<"'/,( 2)#*&$A"*=)%.<"'/,( >$%8#/.#"0<"'/,( @/#*$>)#$*($8<"'/,( F*)*&$B#$$<"'/,( F%8$%($8B#$$<"'/,( <"'/,( G/8$<)%=B#$$<"'/,( A)$<"'/,( D"8)"&B#$$<"'/,( D"%8/0<"'/,( 3("*=$8-#$"<"'/,( B#$$6"9<"'/,( I9$#"(/# I9$#"(/#<)+( I9$#"(/#3$E,$%*$ I9$#"(/#3;)(*5 3/#(I9$#"(/# N)+,"&)C"()/% Idiom: treemap • data – tree – 1 quant attrib at leaf nodes • encoding – area containment marks for hierarchical structure – rectilinear orientation – size encodes quant attrib • tasks – query attribute at leaf nodes • scalability – 1M leaf nodes 8 http://tulip.labri.fr/Documentation/3_7/userHandbook/html/ch06.html Link marks: Connection and Containment • marks as links (vs. nodes) – common case in network drawing – 1D case: connection • ex: all node-link diagrams • emphasizes topology, path tracing • networks and trees – 2D case: containment • ex: all treemap variants • emphasizes attribute values at leaves (size coding) • only trees 9 Node–Link Diagram Treemap [Elastic Hierarchies: Combining Treemaps and Node-Link Diagrams. Dong, McGuffin, and Chignell. Proc. InfoVis 2005, p. 57-64.] Containment Connection Tree drawing idioms comparison • data shown – link relationships – tree depth – sibling order • design choices – connection vs containment link marks – rectilinear vs radial layout – spatial position channels • considerations – redundant? arbitrary? – information density? • avoid wasting space 10 [Quantifying the Space-Efficiency of 2D Graphical Representations of Trees. McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.] Idiom: GrouseFlocks 11 • data: compound graphs – network – cluster hierarchy atop it • derived or interactively chosen • visual encoding – connection marks for network links – containment marks for hierarchy – point marks for nodes • dynamic interaction – 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 Further reading Visualization Analysis and Design. Munzner. AK Peters / CRC Press, Oct 2014. – Chap 9: Arrange Networks and Trees Visual Analysis of Large Graphs: State-of-the-Art and Future Research Challenges. von Landesberger et al. Computer Graphics Forum 30:6 (2011), 1719–1749. Simple Algorithms for Network Visualization: A Tutorial. McGuffin. Tsinghua Science and Technology (Special Issue on Visualization and Computer Graphics) 17:4 (2012), 383– 398. Drawing on Physical Analogies. Brandes. In Drawing Graphs: Methods and Models, LNCS Tutorial, 2025, edited by M. Kaufmann and D. Wagner, LNCS Tutorial, 2025, pp. 71– 86. Springer-Verlag, 2001. Treevis.net: A Tree Visualization Reference. Schulz. IEEE Computer Graphics and Applications 31:6 (2011), 11–15. http://www.treevis.net Perceptual Guidelines for Creating Rectangular Treemaps. Kong, Heer, and Agrawala. IEEE Trans.Visualization and Computer Graphics (Proc. InfoVis) 16:6 (2010), 990–998. 12 Topological Fisheye Views • derived data –input: laid-out network (spatial positions for nodes) –output: multilevel hierarchy from graph coarsening • interaction – user changed selected focus point • visual encoding –hybrid view made from cut through several hierarchy levels 13 [Fig 4,7.Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005] Topological Fisheye Views • derived data –input: laid-out network (spatial positions for nodes) –output: multilevel hierarchy from graph coarsening • interaction – user changed selected focus point • visual encoding –hybrid view made from cut through several hierarchy levels 14 [Fig 4,8.Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005] Coarsening requirements • uniform cluster/metanode size • match coarse and fine layout geometries • scalable 15 [Fig 3.Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005] Coarsening strategy • must preserve graph-theoretic properties • use both topology and geometry – topological distance (hops away) – geometric distance - but not just proximity alone! • just contracting nodes/edges could create new cycles • derived data: proximity graph 16 [Fig 10, 12.Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005] what not to do!

Upload: others

Post on 09-Apr-2020

60 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Idiom: force-directed placement Idiom: sfdp Node-link Diagrams · Idiom: force-directed placement ¥visual encoding Ðlink connection marks, node point marks ¥considerations Ðspatial

http://www.cs.ubc.ca/~tmm/courses/547-14/#chap9

Chap 9:Arrange NetworksPaper: Topological Fisheye Networks

Tamara MunznerDepartment of Computer ScienceUniversity of British Columbia

Information Visualization, CPSC 547Oct 8 2014

2

Arrange networks and trees

Node-link Diagrams

Enclosure

Adjacency Matrix

TREESNETWORKS

Connections and Marks

TREESNETWORKS

Derived Table

TREESNETWORKS

Containment Marks

Idiom: force-directed placement• visual encoding

– link connection marks, node point marks

• considerations– spatial position: no meaning directly encoded

• left free to minimize crossings

– proximity semantics?• sometimes meaningful

• sometimes arbitrary, artifact of layout algorithm

• tension with length– long edges more visually salient than short

• tasks– explore topology; locate paths, clusters

• scalability– node/edge density E < 4N

3http://mbostock.github.com/d3/ex/force.html

!"#$"%#& '!"#$%&'( '()*+,#-./.%)- '0)+$*#

!"#$%&'(#%$)%*+,#-./

12%3'3%,45#'6)$*#78%$#*.#8'9$/42'32)&3'*2/$/*.#$'*)7)**+$#-*#'%-'!"#$%&#'()*+"#:';'42<3%*/5'3%,+5/.%)-')6*2/$9#8'4/$.%*5#3'/-8'34$%-93'45/*#3'$#5/.#8'*2/$/*.#$3'%-'*5)3#$'4$)=%,%.<>'&2%5#'+-$#5/.#8'*2/$/*.#$3'/$#'6/$.2#$/4/$.:'?/<)+.'/59)$%.2,'%-34%$#8'@<'1%,'(&<#$'/-8'12),/3'A/B)@3#-:'(/./'@/3#8')-'*2/$/*.#$'*)/44#/$#-*#'%-C%*.)$'D+9)E3'!"#$%&#'()*+"#>'*),4%5#8'@<'()-/58'F-+.2:

)*+,-'./*0'

*0123

!!"#!"#$%&!$!'()*

!!!!!&+#,&%!$!-)).

!

!!"#!/0102!$!$345/61+4/6%+,0278)9:.

!

!!"#!;02/+!$!$341670<%4;02/+9:

!!!!!4/&62,+9%=8):

!!!!!41#>?@#5%6>/+93):

!!!!!45#A+9B"#$%&*!&+#,&%C:.

!

!!"#!5D,!$!$345+1+/%9EF/&62%E:46GG+>$9E5D,E:

!!!!!46%%29E"#$%&E*!"#$%&:

!!!!!46%%29E&+#,&%E*!&+#,&%:.

!

!$34H50>9EI#5+26J1+54H50>E*!&'()*+,(9H50>:!K

!!!;02/+

!!!!!!!4>0$+59H50>4>0$+5:

!!!!!!!41#>?59H50>41#>?5:

!!!!!!!45%62%9:.

!

!!!!"#!1#>?!$!5D,45+1+/%L119E1#>+41#>?E:

!!!!!!!4$6%69H50>41#>?5:

!!!!!4+>%+29:46GG+>$9E1#>+E:

!!!!!!!46%%29E/1655E*!E1#>?E:

!!!!!!!45%71+9E5%20?+M"#$%&E*!&'()*+,(9$:!K!#-*'#(!N6%&45O2%9$4D61<+:.!P:.

!

!!!!"#!>0$+!$!5D,45+1+/%L119E/#2/1+4>0$+E:

!!!!!!!4$6%69H50>4>0$+5:

!!!!!4+>%+29:46GG+>$9E/#2/1+E:

!!!!!!!46%%29E/1655E*!E>0$+E:

!!!!!!!46%%29E2E*!-:

!!!!!!!45%71+9E;#11E*!&'()*+,(9$:!K!#-*'#(!/01029$4,20<G:.!P:

!!!!!!!4/6119;02/+4$26,:.

!

!!!>0$+46GG+>$9E%#%1+E:

!!!!!!!4%+Q%9&'()*+,(9$:!K!#-*'#(!$4>6I+.!P:.

!

!!!;02/+40>9E%#/?E*!&'()*+,(9:!K

!!!!!1#>?46%%29EQ=E*!&'()*+,(9$:!K!#-*'#(!$450<2/+4Q.!P:

!=

!8

!3

!R

!-

!(

!S

!T

!'

=)

==

=8

=3

=R

=-

=(

=S

=T

='

8)

8=

88

83

8R

8-

8(

8S

8T

8'

3)

3=

38

33

3R

3-

3(

3S

3T

3'

Idiom: sfdp (multi-level force-directed placement)

• data– original: network– derived: cluster hierarchy atop it

• considerations– better algorithm for same encoding technique

• same: fundamental use of space• hierarchy used for algorithm speed/quality but

not shown explicitly• (more on algorithm vs encoding in afternoon)

• scalability– nodes, edges: 1K-10K– hairball problem eventually hits

4

[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

Idiom: adjacency matrix view• data: network

– transform into same data/encoding as heatmap

• derived data: table from network– 1 quant attrib

• weighted edge between nodes

– 2 categ attribs: node list x 2

• visual encoding– cell shows presence/absence of edge

• scalability– 1K nodes, 1M edges

5

ii

ii

ii

ii

7.1. Using Space 135

Figure 7.5: Comparing matrix and node-link views of a five-node network.a) Matrix view. b) Node-link view. From [Henry et al. 07], Figure 3b and3a. (Permission needed.)

the number of available pixels per cell; typically only a few levels wouldbe distinguishable between the largest and the smallest cell size. Networkmatrix views can also show weighted networks, where each link has an as-sociated quantitative value attribute, by encoding with an ordered channelsuch as color luminance or size.

For undirected networks where links are symmetric, only half of thematrix needs to be shown, above or below the diagonal, because a linkfrom node A to node B necessarily implies a link from B to A. For directednetworks, the full square matrix has meaning, because links can be asym-metric. Figure 7.5 shows a simple example of an undirected network, witha matrix view of the five-node dataset in Figure 7.5a and a correspondingnode-link view in Figure 7.5b.

Matrix views of networks can achieve very high information density, upto a limit of one thousand nodes and one million edges, just like clusterheatmaps and all other matrix views that uses small area marks.

Technique network matrix viewData Types networkDerived Data table: network nodes as keys, link status between two

nodes as valuesView Comp. space: area marks in 2D matrix alignmentScalability nodes: 1K

edges: 1M

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1.3.3 Multiple Keys: Partition and Subdivide When a dataset has onlyone key, then it is straightforward to use that key to separate into one region

[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 Wong. Nature Methods 9:115.]

Connection vs. adjacency comparison

• adjacency matrix strengths– predictability, scalability, supports reordering– some topology tasks trainable

• node-link diagram strengths– topology understanding, path tracing– intuitive, no training needed

• empirical study– node-link best for small networks– matrix best for large networks

• if tasks don’t involve topological structure!

6

[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

Idiom: radial node-link tree• data

– tree

• encoding– link connection marks– point node marks– radial axis orientation

• angular proximity: siblings• distance from center: depth in tree

• tasks– understanding topology, following paths

• scalability– 1K - 10K nodes

7http://mbostock.github.com/d3/ex/tree.html

!"#$"%#& '!"#$%&'( '()*+,#-./.%)- '0)+$*#

!"#$%&'()*+,$$

12#'!"##'3/4)+.'%,53#,#-.6'.2#'7#%-8)39:1%3;)$9'/38)$%.2,';)$'#;<*%#-.='.%94'/$$/-8#,#-.');'3/4#$#9'-)9#6>'12#9#5.2');'-)9#6'%6'*),5+.#9'?4'9%6./-*#';$),'.2#'$)).='3#/9%-8'.)'/'$/88#9'/55#/$/-*#>'@/$.#6%/-')$%#-./.%)-6/$#'/36)'6+55)$.#9>'A,53#,#-./.%)-'?/6#9')-'&)$B'?4'C#;;'D##$'/-9'C/6)-'(/"%#6'+6%-8'E+*22#%,'#.'/3>F6'3%-#/$:.%,#'"/$%/-.');'.2#'7#%-8)39:1%3;)$9'/38)$%.2,>'(/./'62)&6'.2#'G3/$#'*3/66'2%#$/$*24='/36)'*)+$.#64'C#;;'D##$>

)*+,-'./*0'

#-./0

!"#$

"%"&'()*+

*&,+($#

-..&/0$#"()1$2&,+($#

2/00,%)('3(#,*(,#$

4)$#"#*5)*"&2&,+($#

6$#.$78.$

.#"95

:$(;$$%%$++2$%(#"&)('

<)%=>)+("%*$

6"?@&/;6)%2,(

35/#($+(A"(5+

39"%%)%.B#$$

/9()0)C"()/%

-+9$*(D"()/:"%=$#

"%)0"($

7"+)%.

@,%*()/%3$E,$%*$

)%($#9/&"($

-##"'F%($#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#"%+)()/%71$%(

B;$$%

8"("

*/%1$#($#+

2/%1$#($#+

>$&)0)($8B$?(2/%1$#($#

K#"956<2/%1$#($#

F>"("2/%1$#($#

L3IG

2/%1$#($#

>"("@

)$&8

>"("3

*5$0"

>"("3

$(

>"("3

/,#*$

>"("B"

H&$

>"("M(

)&

8)+9&"'

>)#('39#)(

$

<)%$39#)($

D$*(39#)($

B$?(39#)($

!$? @&"#$N)+

95'+)*+

>#".@/#*$K#"1)('@/#*$F@/#*$G:/8'@/#*$A"#()*&$3)0,&"()/%39#)%.39#)%.@/#*$E

,$#'

-..#$."($7?9#$++)/%

-%8-#)(50$()*

-1$#".$:)%"#'7?9#$++)/%

2/09"#)+/%

2/09/+)($7?9#$++)/%

2/,%(>"($M

()&

>)+()%*(

7?9#$++)/%

7?9#$++)/%F($#"(/#

@%FOF+-<

)($#"&

6"(*5

6"?)0

,0

0$(5/8+

"88"%8"1$#".$

*/,%(

8)+()%*(

8)1$EO%.(.($)OO)+"&(&($0

"?

0)%0/8

0,&

%$E

%/(

/#/#8$#H'

#"%.$

+$&$*(

+(88$1

+,H

+,0

,98"($

1"#)"%*$

;5$#$?/#P

6)%)0,0

G/(

I#Q,$#'

D"%.$

3(#)%

.M()&

3,0

N"#)"H&$

N"#)"%*$

R/#

+*"&$

F3*"&$6"9

<)%$"#3*"&$

</.3*"&$

I#8)%"&3*"&$

Q,"%()&$3*"&$

Q,"%()("()1$3*"&$

D//(3*"&$

3*"&$

3*"&$B'9$

B)0$3*"&$

,()&

-##"'+

2/&/#+

>"($+

>)+9&"'+

@)&($#

K$/0$(#'5$

"9

@)H/%"**)4$"9

4$"9G/8$

F71"&,"H&$

FA#$8)*"($

FN"&,$A#/?'0"(5

>$%+$6"(#)?F6

"(#)?

39"#+$6"(#)?

6"(5+

I#)$%("()/%9"&

$(($

2/&/#A

"&$(($A"

&$(($

35"9$

A"&$((

$3)C

$A"&$((

$

A#/9$#

('35"9$+3/#(

3("(+3(#)%.

+

1)+

"?)+

-?$+-?)+-?)+K#)8<)%$

-?)+<"H$&2"#($+)"%-?$+

*/%(#/&+

-%*5/#2/%(#/&2&)*=2/%(#/&

2/%(#/&

2/%(#/&<)+(

>#".2/%(#/&

7?9"%82/%(#/&

4/1$#2/%(#/&

F2/%(#/&

A"%S//02/%(#/&

3$&$*()/%2/%(#/&

B//&()92/%(#/&

8"("

>"("

>"("<)+(

>"("39#)($

78.$39#)($

G/8$39#)($

#$%8$#

-##/;B'9$

78.$D$%8$#$#

FD$%8$#$#

35"9$D$%8$#$#

3*"&$:)%8)%.

B#$$

B#$$:,)&8$#

$1$%(+

>"("71$%(

3$&$*()/%71$%(

B//&()971$%(

N)+,"&)C"()/%71$%(

&$.$%8

<$.$%8

<$.$%8F($0

<$.$%8D"%.$ /

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

)&)('@)&($#

FI9$#"(/#

&"H$&

<"H$&$#

D"8)"&<"H$&$#

3("*=$

8-#$"<"H$&$#

&"'/,(

-?)+<

"'/,(

:,%8&$878.$D/,($#

2)#*&$<"'/,(

2)#*&$A"*=)%.<"'/,(

>$%8#/.#"0<"'/,(

@/#*$>)#$*($8<"'/,(

F*)*&$B#$$<"'/,(

F%8$%($8B#$$<"'/,(

<"'/,(

G/8$<)%=B#$$<"'/,(

A)$<"'/,(

D"8)"&B#$$<"'/,(

D"%8/0<"'/,(

3("*=$8-#$"<"'/,(

B#$$6"9<"'/,(

I9$#"(/#

I9$#"(/#<)+(

I9$#"(/#3$E,$%*$

I9$#"(/#3;)(*5

3/#(I

9$#"(/#

N)+,"&)C"

()/%

$!"#$"%&'()$$$*+,$%$-.

$

$!"#$!"##$$$&/01%23(!0!"##45

$$$$$0)'6#47/+,8$"%&'()$&$9-,:5

$$$$$0)#;%"%!'3<4'()*+,-)4%8$=5$>$#.+(#)$4%0;%"#<!$$$$=0;%"#<!$/$9$0$-5$%$%0&#;!?.$@5.

$

$!"#$&'%A3<%1$$$&/0)BA0&'%A3<%10"%&'%145

$$$$$0;"3C#D!'3<4'()*+,-)4&5$>$#.+(#)$7&028$&0E$%$9F,$1$G%!?0HI:.$@5.

$

$!"#$B')$$$&/0)#1#D!4JKD?%"!J50%;;#<&4J)BAJ5

$$$$$0%!!"4JL'&!?J8$"%&'()$1$-5

$$$$$0%!!"4J?#'A?!J8$"%&'()$1$-$&$9M,5

$$$0%;;#<&4JAJ5

$$$$$0%!!"4J!"%<)N3"OJ8$J!"%<)1%!#4J$2$"%&'()$2$J8J$2$"%&'()$2$J5J5.

$

$&/0C)3<4J00P&%!%PN1%"#0C)3<J8$'()*+,-)4C)3<5$>

$$$!"#$<3&#)$$$!"##0<3&#)4C)3<5.

$9

$-

$/

$Q

$M

$+

$R

$F

$*

9,

99

9-

9/

9Q

9M

9+

9R

Idiom: treemap• data

– tree– 1 quant attrib at leaf nodes

• encoding– area containment marks for hierarchical structure– rectilinear orientation– size encodes quant attrib

• tasks– query attribute at leaf nodes

• scalability– 1M leaf nodes

8

http://tulip.labri.fr/Documentation/3_7/userHandbook/html/ch06.html

Link marks: Connection and Containment

• marks as links (vs. nodes)– common case in network drawing– 1D case: connection

• ex: all node-link diagrams• emphasizes topology, path tracing• networks and trees

– 2D case: containment• ex: all treemap variants• emphasizes attribute values at leaves (size coding)• only trees

9

Node–Link Diagram Treemap Elastic Hierarchy

Node-Link Containment

[Elastic Hierarchies: Combining Treemaps and Node-Link Diagrams. Dong, McGuffin, and Chignell. Proc. InfoVis 2005, p. 57-64.]

Containment Connection

Tree drawing idioms comparison

• data shown– link relationships

– tree depth– sibling order

• design choices– connection vs containment link marks– rectilinear vs radial layout

– spatial position channels

• considerations– redundant? arbitrary?

– information density?• avoid wasting space

10

[Quantifying the Space-Efficiency of 2D Graphical Representations of Trees. McGuffin and Robert. Information Visualization 9:2 (2010), 115–140.]

Idiom: GrouseFlocks

11

• data: compound graphs– network– cluster hierarchy atop it

• derived or interactively chosen

• visual encoding– connection marks for network links– containment marks for hierarchy– point marks for nodes

• dynamic interaction– 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.]

ii

ii

ii

ii

166 7. Making Views

(a) Original Graph

Graph Hierarchy 1 Graph Hierarchy 2 Graph Hierarchy 3

(b) Graph Hierarchies

Figure 7.25: GrouseFlocks uses containment to show graph hierarchy struc-ture. (a) Original graph. (b) Several alternative hierarchies built from thesame graph. The hierarchy alone is shown in the top row. The bottom rowcombines the graph encoded with connection with a visual representationof the hierarchy using containment. From [Archambault et al. 08], Figure3.

Further reading• Visualization Analysis and Design. Munzner. AK Peters / CRC Press, Oct 2014.

– Chap 9: Arrange Networks and Trees

• Visual Analysis of Large Graphs: State-of-the-Art and Future Research Challenges. von Landesberger et al. Computer Graphics Forum 30:6 (2011), 1719–1749.

• Simple Algorithms for Network Visualization: A Tutorial. McGuffin. Tsinghua Science and Technology (Special Issue on Visualization and Computer Graphics) 17:4 (2012), 383–398.

• Drawing on Physical Analogies. Brandes. In Drawing Graphs: Methods and Models, LNCS Tutorial, 2025, edited by M. Kaufmann and D. Wagner, LNCS Tutorial, 2025, pp. 71–86. Springer-Verlag, 2001.

• Treevis.net: A Tree Visualization Reference. Schulz. IEEE Computer Graphics and Applications 31:6 (2011), 11–15. http://www.treevis.net

• Perceptual Guidelines for Creating Rectangular Treemaps. Kong, Heer, and Agrawala. IEEE Trans. Visualization and Computer Graphics (Proc. InfoVis) 16:6 (2010), 990–998.

12

Topological Fisheye Views

• derived data– input: laid-out network (spatial positions for nodes)– output: multilevel hierarchy from graph coarsening

• interaction– user changed selected focus point

• visual encoding– hybrid view made from cut through several hierarchy levels

13

[Fig 4,7. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]

Topological Fisheye Views

• derived data– input: laid-out network (spatial positions for nodes)– output: multilevel hierarchy from graph coarsening

• interaction– user changed selected focus point

• visual encoding– hybrid view made from cut through several hierarchy levels

14

[Fig 4,8. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]

Coarsening requirements

• uniform cluster/metanode size• match coarse and fine layout geometries• scalable

15

[Fig 3. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]

Coarsening strategy

• must preserve graph-theoretic properties• use both topology and geometry

– topological distance (hops away)– geometric distance - but not just proximity alone!

• just contracting nodes/edges could create new cycles

• derived data: proximity graph

16

[Fig 10, 12. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]

what not to do!

Page 2: Idiom: force-directed placement Idiom: sfdp Node-link Diagrams · Idiom: force-directed placement ¥visual encoding Ðlink connection marks, node point marks ¥considerations Ðspatial

Candidate pairs: neighbors in original and proximity graph

• proximity graph: compromise between larger DT and smaller RNG– better than original graph neighbors alone

• slow for cases like star graph

• maximize weighted sum of– geometric proximity

• goal: preserve geometry

– cluster size• goal: keep uniform cluster size

– normalized connection strength• goal: preserve topology

– neighborhood similarity• goal: preserve topology

– degree• goal: penalize high-degree nodes to avoid salient artifacts and computational problems

17

Hybrid graph creation

• cut through coarsening hierarchy to get active nodes– animated transitions between states

18

[Fig 10, 12. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]

Final distortion

• geometric distortion for uniform density• (colorcoded by hierarchy depth just to illustrate algorithm)

– compare to original– compare to simple topologically unaware fisheye distortion

19[Fig 2,15. Topological Fisheye Views for Visualizing Large Graphs. Gansner, Koren and North, IEEE TVCG 11(4), p 457-468, 2005]