Document 14169785

advertisement
GLO-STIX!
Graph-Level Operations for Specifying
Techniques and Interactive eXploration
Chad Stolper
Minsuk Kahng
Zhiyuan “Jerry” Lin
Florian Foerster
Aakash Goel
John Stasko
Polo Chau
http://thetrendguys.com/wp-content/uploads/2014/02/lego-bricks.jpg
2
http://fc00.deviantart.net/images/i/2003/44/6/5/3D_Lego_Race_Car.jpg
3
http://fc00.deviantart.net/images/i/2003/44/6/5/3D_Lego_Race_Car.jpg
http://yippyio.files.wordpress.com/2011/09/lego_plane.jpg
4
http://fc00.deviantart.net/images/i/2003/44/6/5/3D_Lego_Race_Car.jpg
http://yippyio.files.wordpress.com/2011/09/lego_plane.jpg
5
Low Level
JUNG
6
High Level
7
8
What might graph visualization
building blocks look like?
9
Semantic Substrates
B. Shneiderman and A. Aris, “Network Visualization by Semantic Substrates,” IEEE
Transactions on Visualization and Computer Graphics, vol. 12, no. 5, pp. 733 –740, 2006.
10
PivotGraph
M. Wattenberg, “Visual Exploration of Multivariate Graphs,” in Proc. of the ACM SIGCHI
Conference on Human Factors in Computing Systems, (CHI 2006), New York, NY, USA,
2006, pp. 811 –819.
11
12
Semantic Substrates
to PivotGraph?
13
14
§  Substrate on X
§  Aggregate
Semantic Substrates
to PivotGraph?
§  (Size Nodes by Count)
§  Display All Links
§  Show X Axis
§  Show Y Axis
15
Graph-Level Operations
(GLOs)
16
Graph-Level Operations
(GLOs)
17
Graph-Level Operations
https://openclipart.org/detail/184889/lego-blocks-by-eggib-184889
18
Graph-Level Operations
Encapsulated
Manipulations
of Graph Visualizations
https://openclipart.org/detail/184889/lego-blocks-by-eggib-184889
19
Force-Directed
to PivotGraph?
20
21
§  Substrate on X
§  Substrate on Y
Force-Directed
to PivotGraph?
§  Show Links as Curved
§  Aggregate
§  (Size Nodes by Count)
§  Show X Axis
§  Show Y Axis
22
§  Substrate on X
§  Substrate on Y
Force-Directed
to PivotGraph?
§  Show Links as Curved
§  Aggregate
§  (Size Nodes by Count)
§  Show X Axis
§  Show Y Axis
23
Identifying GLOs
24
Identifying GLOs
Circle Plot
25
Identifying GLOs
Matrix
26
Identifying GLOs
Force-Directed
27
Identifying GLOs
PivotGraph
28
Identifying GLOs
Scatterplot
29
Identifying GLOs
Semantic Substrates
30
Identifying GLOs
31
Identifying GLOs
1.  Align Nodes
2.  Evenly Distribute Nodes
3.  Evenly Distribute Nodes by Attribute
4.  Substrate Nodes by Attribute
5.  Evenly Distribute Nodes within
Substrates
6.  Position Nodes Relatively
7.  Evenly Distribute Nodes Radially by
Attribute
12. Evenly Distribute Nodes Along Plot
Radius
13. Position Nodes Along Plot Radius by
Attribute
14. Substrate Nodes Along Plot Radius
15. Position Nodes Along Plot Radius by
Constant
22. Display Links as Straight
23. Display Links as Curved
24. Display Links as Circles
25. Clone Active Generation
26. Select Generation k
27. Set Source Generation k
16. Apply an Algorithm to the Nodes
28. Set Target Generation k
17. Size Nodes by a Constant
29. Remove Generation k
18. Size Nodes Relatively by a Continuous 30. Aggregate by Attribute
Attribute
31. Aggregate by Attribute and Attribute
9.  Position Nodes Radially by Attribute
19. Display All Links
32. Deaggregate Generation k
10. Substrate Nodes Radially by Attribute
20. Display Selected Links
33. Show Axis
11. Evenly Distribute Nodes Along Plot
21. Hide Links
34. Hide Axis
Radius
8.  Evenly Distribute Nodes Radially
32
Identifying GLOs
1.  Align Nodes
2.  Evenly Distribute Nodes
3.  Evenly Distribute Nodes by Attribute
4.  Substrate Nodes by Attribute
5.  Evenly Distribute Nodes within
Substrates
6.  Position Nodes Relatively
7.  Evenly Distribute Nodes Radially by
Attribute
12. Evenly Distribute Nodes Along Plot
Radius
13. Position Nodes Along Plot Radius by
Attribute
14. Substrate Nodes Along Plot Radius
22. Display Links as Straight
23. Display Links as Curved
24. Display Links as Circles
25. Clone Active Generation
34 Operations
15. Position Nodes Along Plot Radius by
Constant
16. Apply an Algorithm to the Nodes
17. Size Nodes by a Constant
26. Select Generation k
27. Set Source Generation k
28. Set Target Generation k
29. Remove Generation k
18. Size Nodes Relatively by a Continuous 30. Aggregate by Attribute
Attribute
31. Aggregate by Attribute and Attribute
9.  Position Nodes Radially by Attribute
19. Display All Links
32. Deaggregate Generation k
10. Substrate Nodes Radially by Attribute
20. Display Selected Links
33. Show Axis
11. Evenly Distribute Nodes Along Plot
21. Hide Links
34. Hide Axis
Radius
8.  Evenly Distribute Nodes Radially
33
Identifying GLOs
1.  Align Nodes
2.  Evenly Distribute Nodes
3.  Evenly Distribute Nodes by Attribute
4.  Substrate Nodes by Attribute
5.  Evenly Distribute Nodes within
Substrates
6.  Position Nodes Relatively
7.  Evenly Distribute Nodes Radially by
Attribute
12. Evenly Distribute Nodes Along Plot
Radius
13. Position Nodes Along Plot Radius by
Attribute
14. Substrate Nodes Along Plot Radius
22. Display Links as Straight
23. Display Links as Curved
24. Display Links as Circles
25. Clone Active Generation
34 Operations
15. Position Nodes Along Plot Radius by
Constant
16. Apply an Algorithm to the Nodes
26. Select Generation k
27. Set Source Generation k
28. Set Target Generation k
Card-Sorting
17. Size Nodes by a Constant
29. Remove Generation k
18. Size Nodes Relatively by a Continuous 30. Aggregate by Attribute
Attribute
31. Aggregate by Attribute and Attribute
9.  Position Nodes Radially by Attribute
19. Display All Links
32. Deaggregate Generation k
10. Substrate Nodes Radially by Attribute
20. Display Selected Links
33. Show Axis
11. Evenly Distribute Nodes Along Plot
21. Hide Links
34. Hide Axis
Radius
8.  Evenly Distribute Nodes Radially
34
Identifying GLOs
1.  Align Nodes
2.  Evenly Distribute Nodes
3.  Evenly Distribute Nodes by Attribute
4.  Substrate Nodes by Attribute
5.  Evenly Distribute Nodes within
Substrates
6.  Position Nodes Relatively
7.  Evenly Distribute Nodes Radially by
Attribute
12. Evenly Distribute Nodes Along Plot
Radius
13. Position Nodes Along Plot Radius by
Attribute
14. Substrate Nodes Along Plot Radius
22. Display Links as Straight
23. Display Links as Curved
24. Display Links as Circles
25. Clone Active Generation
34 Operations
15. Position Nodes Along Plot Radius by
Constant
16. Apply an Algorithm to the Nodes
26. Select Generation k
27. Set Source Generation k
28. Set Target Generation k
5 Categories
17. Size Nodes by a Constant
29. Remove Generation k
18. Size Nodes Relatively by a Continuous 30. Aggregate by Attribute
Attribute
31. Aggregate by Attribute and Attribute
9.  Position Nodes Radially by Attribute
19. Display All Links
32. Deaggregate Generation k
10. Substrate Nodes Radially by Attribute
20. Display Selected Links
33. Show Axis
11. Evenly Distribute Nodes Along Plot
21. Hide Links
34. Hide Axis
Radius
8.  Evenly Distribute Nodes Radially
35
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Display Properties
36
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Display Properties
Show Axis
Hide Axis
37
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Positioning
Nodes
38
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Positioning
Nodes
Evenly Distribute Nodes
Radially by Attribute
39
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Positioning
Nodes
Substrate Nodes by
Categorical Attribute
40
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Positioning
Nodes
Position Nodes Relatively
by Continuous Attribute
41
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
42
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
Size Nodes by Constant
43
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
Size Nodes by Attribute
44
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
45
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
Display Links as Straight
46
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Modifying
Element Properties
Display Links as Curved
47
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Cloning
Nodes
48
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Aggregating
Nodes and Edges
49
Modifying Display Properties | Positioning Nodes | Modifying Element Properties | Cloning Nodes | Aggregation
Categories: Aggregating
Nodes and Edges
50
Specifying Techniques | Engineering | Analysts | Visualization Community
So why do this?
51
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
52
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
53
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
How did we get here?
54
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
55
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
Substrate Nodes on x by attribute0
Substrate Nodes on y by attribute1
Aggregate Nodes
(by attribute0 and attribute1)
Size Nodes by Count
Show x Axis
Show y Axis
Display Links as Curved
Display All Links
Set Target Generation 1
Set Source Generation 1
56
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
57
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
58
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
59
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: Specifying
Techniques
60
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
Engineers…
https://openclipart.org/detail/184889/lego-blocks-by-eggib-184889
61
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
Engineers…
Fixed Implementation Target
Get the Techniques “For Free”
https://openclipart.org/detail/184889/lego-blocks-by-eggib-184889
62
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
Analysts…
63
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
Analysts…
New Method of Graph
Exploration
“Between Techniques”
64
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
65
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
Identify New, Effective Techniques?
66
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
Identify New, Effective Techniques?
67
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
68
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
69
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
70
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
71
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
72
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
73
Specifying Techniques | Engineering | Analysts | Visualization Community
Benefits: For
the Visualization Community…
74
Data | Subgraphs | Interaction
Where to go from here…
75
Data | Subgraphs | Interaction
Future Work: Data
76
Data | Subgraphs | Interaction
Future Work: Data
Distance from Root
77
Data | Subgraphs | Interaction
Future Work: Data
Distance from Root
http://mbostock.github.io/d3/talk/20111018/tree.html
78
Data | Subgraphs | Interaction
Future Work: Data
Degree of Interest
Figure 8. Organization chart with over 400 nodes accessible over WWW through Web browser.
display location. Only one of the nodes will be displayed. If that
Card, Stuart K., and David Nation. "Degree-of-interest
trees: A component
node is selected as the focus node, it will be shifted to the free
of an attention-reactive user interface." layout
Proceedings
of the
zone and surrounding
nodesWorking
will then be visible. The use
of DOI to do selective expansion and the use of folding rows
Conference on Advanced Visual Interfaces.
ACM,
2002.
greatly increases the size of tree that can be horizontally laid out.
Compression in X. The tree not fitting in the X direction is common and occurs either because of a large branching factor below
one node or else because there is an accumulation of widths
across several subtrees. In the latter case, the nodes below each
box are laid out in the horizontal space available for each box.
This pattern is visible in Figure 6. The nodes with the highest
DOIs in a row have the largest node size. This node size estab-
The use of compression and aggregation zones ensures that all
79
trees can be fit within the space.
Data | Subgraphs | Interaction
Future Work: Subgraphs
80
Data | Subgraphs | Interaction
Future Work: Subgraphs
N. Henry, J.-D. Fekete, and M. J. McGuffin, “NodeTrix: a Hybrid Visualization of Social Networks,”
IEEE Transactions on Visualization and Computer Graphics, vol. 13, no. 6, pp. 1302 –1309, 2007.
81
Multivariate Network Exploration and Presentation:
Data | Subgraphs | Interaction
From Detail to Overview via Selections and Aggregations
Future Work: Subgraphs
Stef van den Elzen and Jarke J. van Wijk
van den Elzen and van Wijk. “Multivariate Network Exploration and Presentation: From Detail to
Overview via Selections and Aggregations”. Infovis 2014. (Or, right before this talk).
Fig. 1. Multivariate network exploration using selections of interest, detail view (left) and high-level infographic-style overview (right).
82
Data | Subgraphs | Interaction
Future Work: Interaction
83
Wrapping Up…
84
Wrapping Up…
§  Graph-Level Operations (GLO)
Potential Benefits of GLOs
GLO-STIX Application
85
Wrapping Up…
§  Graph-Level Operations (GLO)
§  Potential Benefits of GLOs
GLO-STIX Application
86
Wrapping Up…
§  Graph-Level Operations (GLO)
§  Potential Benefits of GLOs
§  GLO-STIX Application
87
Acknowledgements
•  National Science Foundation under Grant No. IIS-1320537
•  National Science Foundation Graduate Research Fellowship Program under Grant No. DGE-1148903
•  U.S. Army Re- search Office (ARO) and Defense Advanced Research Projects Agency (DARPA)
under Contract Number W911NF-11-C-0088
•  XDATA program sponsored by the Air Force Research Laboratory (AFRL) and DARPA
88
Minsuk Kahng
Aakash Goel
Zhiyuan “Jerry” Lin
John Stasko
Florian Foerster
Polo Chau
89
Thank You!
Minsuk Kahng
Aakash Goel
Chad Stolper
chadstolper@gatech.edu
Zhiyuan “Jerry” Lin
John Stasko
Florian Foerster
Polo Chau
90
Questions?
Minsuk Kahng
Aakash Goel
Chad Stolper
chadstolper@gatech.edu
Zhiyuan “Jerry” Lin
John Stasko
Florian Foerster
Polo Chau
91
Download