Download presentation
Presentation is loading. Please wait.
Published byPeyton Threlfall Modified over 9 years ago
1
Visualizing Relations in Hierarchical Data Presented by Soha Makady 1
2
Problem? Dataset examples: –A text book Hierarchy: Book, chapters, sections, paragraphs, …etc. Relation: A section can be a pre-requisite for understanding another section –A software system: Hierarchy: System, packages, classes, methods Relations: inheritance, method calls …etc. How to visualize hierarchical and non- hierarchical relations in ONE visualization? 2
3
ArcTrees: Visualizing Relations in Hierarchical Data P. Neumann, S. Schlechtweg, S. Carpendale. Proceedings of Eurographics, IEEE VGTC Symposium on Visualization (EuroVis2005) 3
4
ArcTrees – Basic Idea Designed for viewing digital media Represents the hierarchical structure by a spanning tree Represents the non-hierarchical relations by edges/arcs Play video* 4 * Available from: http://innovis.cpsc.ucalgary.ca/Research/ArcTrees
5
ArcTrees - Hierarchy Visualization Node weight metric: – Used to calculate the size of a node – Can be a structural metric (e.g. size based on number of children) – Can be a semantic metric (e.g. size based on number of pages, chapter importance) 5 Chapter Section Sub-section
6
ArcTrees - Hierarchy Visualization Color coding: – Clarifies the different levels in the hierarchy 6
7
ArcTrees - Relations Visualization Arcs are controlled in height to better utilize space Transparent arcs connect collapsed nodes 7 Node1 Node3 Node2 (Expanded)
8
ArcTrees - Relations Visualization Arc weight metric: – Used to calculate the width of an arc – Can be structural or semantic – The width can indicate many relations between two nodes 8
9
ArcTrees – Interaction – Zoom & Filter 9
10
ArcTrees – Interaction – Focus + Context Glyph: – Indicates hidden relations – The diameter stands for the number of hidden relations 10 Several connections Glyph Click on arc
11
ArcTrees – Interaction – Focus + Context 11 Hidden relations within Ch(16) of Glyph Expanded relations between Ch 15 & 16
12
ArcTrees in Acrobat Reader 12
13
Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data Danny Holten InfoVis06, 2006 13
14
Hierarchical Edge Bundles Augments existing tree visualizations Based on bundling the relations’ edges hence reducing visual clutter 14
15
Relations within a Radial Layout Visualizes a call graph in a software system (caller in green, callee in red) Shows sparsely connected systems 15
16
Bundling Strength 16 Shows node- to-node connectivity Bundles reduce visual clutter Shows implicit relations between parents
17
Bundle-based Interaction 17 User can inspect individual curves
18
Other Hierarchical Representations? Works for radial layout, balloon layout and treemaps 18
19
ArcTrees Advantages Edge crossing reduced (by arc width) Visual clutter reduced by opacity Uses little screen space Clear Limitations Is it generic? Scaling for large hierarchies? Can it show patterns? Can we follow paths? 19 Hierarchical Bundles Advantages Visual clutter reduced It is generic It can show patterns of sparse/dense data Limitations Bundles lead to losing information about edges’ numbers/weight/structure Ambiguous Can we follow paths?
20
Related Work: I. Software Landscapes* 20 Package(s) Class * M. Balzer et al., Software Landscapes: Visualizing the Structure of Large Software Systems. In Proc. Eurographics 2004, IEEE
21
Related Work: I. Software Landscapes* * M. Balzer et al., Software Landscapes: Visualizing the Structure of Large Software Systems. In Proc. Eurographics 2004, IEEE 21 Relation(s) Occlusion? Ambiguity?
22
Related Work – II. TimeRadarTrees* * M. Burch and S. Diehl, TimeRadarTrees: Visualizing Dynamic Compound Digraphs. In Proc EuroVis2008 22 Edge 3 Edge 2 Edge 1 Edge 2 Edge 3 Edge 1
23
Related Work – TimeRadarTrees* * M. Burch and S. Diehl, TimeRadarTrees: Visualizing Dynamic Compound Digraphs. In Proc EuroVis2008 23
24
TimeRadar Trees* 24 Eliminates edge crossing Readability?
25
My Project: Methods call graphs Hierarchical relationships: –Packages, classes, methods Non-hierarchical relationships: –Method calls (m1 calls m2 calls m3 …) Can I use ArcTrees? (Bundles … No way!) Call graph may include repeated branches 25 mx() ma() me() md() mg() mb() ma() mb()
26
Using Nested Treemaps m1 m2 m3 m4 m5 m6 m7 ma mb mc mdme m1 m4 m5 m6 m7 m4 m5 m5m5 m5m5 ma mb mdme m1 m4 m5 m6 m7 m1 m2 m3 m1 m2 m3 mb mc ma mb md m1 m4 m5 m6 m7 mb mc mdme mdme Package 1 Package 2 Package 3 Package 4 Package 5 class1 class2 class3 class5 class6 class7 class8 class9 class1 0 class8 class7 class5 class1 4
27
Click on a method to find affected methods m1 m2 m3 m4 m5 m6 m7 ma mb mc mdme m1 m4 m5 m6 m7 m4 m5 m5m5 m5m5 ma mb mdme m1 m4 m5 m6 m7 m1 m2 m3 m1 m2 m3 mb mc ma mb md m1 m4 m5 m6 m7 mb mc mdme mdme Package 1 Package 3 Package 4 Package 5 class1 class2 class3 class5 class6 class7 class8 class9 class1 0 class8 class7 class5 class1 4 Legend Direct Level 2 to 4 Lower than 4 Package 2
28
Calling Structure: Pie-Tree/Sunburst Tree mx() ma() me() md() mg() mb() ma() mb() mgmg
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.