Presentation of research paper "Interactive, Height-based Filtering in 2.5D Treemaps" The 11th International Symposium on Visual Information Communication and Interaction (VINCI 2018) in Växjö, Sweden.
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Interactive Height-Based Filtering in 2.5D Treemaps
1. Interactive, Height-based Filtering in 2.5D Treemaps
VINCI 2018 Växjö, Sweden, 13-15 August
Daniel Limberger, Matthias Trapp, and Jürgen Döllner
Hasso Plattner Institute // Faculty of Digital Engineering // University of Potsdam, Germany
2. About this Talk
Height Reference
Height reference denotes the visual display of an height threshold that can be interactively modified
and used for height based queries in 2.5D treemaps.
2 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
3. Treemaps
Treemaps [3] are used to visualize tree-structured data,
e.g., stock markets [8], sensor data [5], business data [7],
file systems [6], software system information [9].
1. Non-spatial data is spatialized—it is given a gestalt
that preserves the data’s structure, e.g., rectangular
treemaps use nested rectangles to depict nodes,
2. and data (attributes) are mapped to visual variables,
i.e., properties of the rectangles (size and color).
3 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
4. Treemaps
Treemaps [3] are used to visualize tree-structured data,
e.g., stock markets [8], sensor data [5], business data [7],
file systems [6], software system information [9].
1. Non-spatial data is spatialized—it is given a gestalt
that preserves the data’s structure, e.g., rectangular
treemaps use nested rectangles to depict nodes,
2. and data (attributes) are mapped to visual variables,
i.e., properties of the rectangles (size and color).
4 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
5. Treemaps
Treemaps [3] are used to visualize tree-structured data,
e.g., stock markets [8], sensor data [5], business data [7],
file systems [6], software system information [9].
1. Non-spatial data is spatialized—it is given a gestalt
that preserves the data’s structure, e.g., rectangular
treemaps use nested rectangles to depict nodes,
2. and data (attributes) are mapped to visual variables,
i.e., properties of the rectangles (size and color).
5 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
6. Treemaps — Spatialization of Tree-structured Data
Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g.,
file size. The weight of a parent node is defined by the sum of the weights of its child nodes.
Simple Graph Rectangular Treemap
100
100
10 70
25
8
12
2
2 3
1 5 40
2
6 8 11
6 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
7. Treemaps — Spatialization of Tree-structured Data
Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g.,
file size. The weight of a parent node is defined by the sum of the weights of its child nodes.
Simple Graph Rectangular Treemap
8
12 10 70
100
10 70
25
8
12
2
2 3
1 5 40
2
6 8 11
7 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
8. Treemaps — Spatialization of Tree-structured Data
Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g.,
file size. The weight of a parent node is defined by the sum of the weights of its child nodes.
Simple Graph Rectangular Treemap
100
10 70
25
8
12
2
2 3
1 5 40
2
6 8 11
8
12
2
2
2
3
1
5
40
25
8 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
9. Treemaps — Spatialization of Tree-structured Data
Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g.,
file size. The weight of a parent node is defined by the sum of the weights of its child nodes.
Simple Graph Rectangular Treemap
8
12
2
2
2
3
1
5
40
8 11
6
100
10 70
25
8
12
2
2 3
1 5 40
2
6 8 11
9 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
10. Treemaps — Spatialization of Tree-structured Data
Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g.,
file size. The weight of a parent node is defined by the sum of the weights of its child nodes.
Simple Graph Rectangular Treemap
100
10 70
25
8
12
2
2 3
1 5 40
2
6 8 11
8
12
2
2
2
3
1
5
40
8 11
6
10 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
11. Treemaps — Adding Height as Visual Variable
2.5D Treemap [1]
11 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
12. Software Maps — Basic Example
# complexity
nesting-level or McCabe
# developers
that touched this unit
# lines-of-code
12 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
13. Research Motivation
Make 2.5D treemaps a more expressive and interactive communication
artifact by increasing its provisioning and overall performance.
13 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
14. 14 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
15. 15 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
16. 16 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
17. 17 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
18. 18 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
19. 19 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
20. 20 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
21. Biro Pencil Marker
0 1 2 3 4
21 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
22. 22 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
23. 23 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
24. 24 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
25. 25 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
26. 26 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
27. 27 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
28. 28 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
29. 29 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
30. 30 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
31. 31 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
32. 32 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
33. 33 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
34. 34 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
35. Oberservations
Height is often used merely as rough indication of data trends or color reinforcement.
35 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
36. Problem Statement
• Capability of height-related queries for filtering and identification of nodes-of-interest is missing.
• User height estimates might be hindered due to perspective foreshortening, occlusion, or
height-distorting inner node representations:
36 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
37. Height Reference
Height reference denotes the visual display of an height threshold that can be interactively modified
and used for height-based queries in 2.5D treemaps.
Height-based queries:
• Highest Nodes — Communication of order for identification of n top-most nodes.
• Similar Nodes — Accentuation of nodes of similar or same height (peers).
• Thresholded Nodes — Exclusion or inclusion of nodes below or above a threshold respectively.
37 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
38. Height Reference
Height reference denotes the visual display of an height threshold that can be interactively modified
and used for height-based queries in 2.5D treemaps.
Height-based queries:
• Highest Nodes — Communication of order for identification of n top-most nodes.
• Similar Nodes — Accentuation of nodes of similar or same height (peers).
• Thresholded Nodes — Exclusion or inclusion of nodes below or above a threshold respectively.
38 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
39. Visual Display — Prerequisites
• Simultaneous use of cuboids for leaf and inner nodes is avoided (or applied with care).
Nodes at different heights,
single reference height.
Nodes at different heights,
per-parent reference heights.
Nodes at the same height,
per-parent adjustments.
Nodes at different heights,
per-node adjustments.
Nodes at same height,
no parent heights.
a) b) c) d) e) preferred | presumed
e
d g
B
C
F
A
e
d g
B
C
F
A
e
d g
B
C
F
A A A A
B B F
C
e
d g
e
d g
B
C
F
A
• The mapping correlates cuboid height to relevance for any specific task. If small or negative values
are relevant for a specific task, an inverted height mapping is expected (highest node).
• The height range is rather small to avoid occlusion and promote pre-attentive color processing.
39 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
40. Visual Display — Prerequisites
• Simultaneous use of cuboids for leaf and inner nodes is avoided (or applied with care).
Nodes at different heights,
single reference height.
Nodes at different heights,
per-parent reference heights.
Nodes at the same height,
per-parent adjustments.
Nodes at different heights,
per-node adjustments.
Nodes at same height,
no parent heights.
a) b) c) d) e) preferred | presumed
e
d g
B
C
F
A
e
d g
B
C
F
A
e
d g
B
C
F
A A A A
B B F
C
e
d g
e
d g
B
C
F
A
• The mapping correlates cuboid height to relevance for any specific task. If small or negative values
are relevant for a specific task, an inverted height mapping is expected (highest node).
• The height range is rather small to avoid occlusion and promote pre-attentive color processing.
40 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
41. Visual Display — Variations and Constraints
parents partially obscured parents partially obscured parents not obscured
parents not obscured
parents not obscured
a) Intersection b) Stilts c) Explicit Plane d) Explicit Cuboid e) Implicit Plane
• Should not rely on transparency or translucency (rendering complexity and cost).
• Should be orthogonal to other visual variables (e.g., transparency, procedural texturing, texturing).
• Should not obscure the visual display of inner nodes (e.g., labeling and/or coloring).
• Increasing the height threshold should reduce the overall visual complexity.
41 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
42. Interaction — Approach and Constaints
The height reference can be manipulated by either touching a cuboids lateral faces or its top, and
thereby specifying the height threshold (y-coordinate at intersection with cuboid):
Interaction with Lateral Faces Interaction with Top Face
Constraint: 2.5D treemap most likely provides navigation (pan, zoom, rotate), as well as temporary
emphasis (e.g., outlining), (un)folding and/or (de)selection of nodes already. Thus, height reference
interaction should be exposed using a specific interaction mode (e.g., modifier key).
42 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
43. Interaction — Approach and Constaints
The height reference can be manipulated by either touching a cuboids lateral faces or its top, and
thereby specifying the height threshold (y-coordinate at intersection with cuboid):
Interaction with Lateral Faces Interaction with Top Face
Constraint: 2.5D treemap most likely provides navigation (pan, zoom, rotate), as well as temporary
emphasis (e.g., outlining), (un)folding and/or (de)selection of nodes already. Thus, height reference
interaction should be exposed using a specific interaction mode (e.g., modifier key).
43 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
44. Preliminary User Study
H1 Users can identify differences in node heights faster when using the height reference.
H2 Users can identify nodes of specific heights more accurate when using the height reference.
The study was conducted with 20 participants
and the following preliminary results:
• H1 (Speed) not confirmed: The average time
to response for each task was slightly faster
without the use of the height reference.
• H2 (Accuracy) confirmed: Using the height
reference increased the accuracy by 25%
(similar nodes) to 42% (top 3 nodes) over the
task completed without height reference.
Comparison Speed
(average, in seconds)
4
8
12
16
20
Comparison Accuracy
(average, in percent)
Top 3 Accuracy
(average, in percent)
20
40
60
80 74
16 17
93
70
100
100
with Height Reference
without Height Reference
44 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
45. Conclusion and Contact Information
parents not obscured
This talk presented
• the concept of a height reference,
• an approach for its visual display, and
• a respective basic interaction model
in order to facilitate height-based queries in 2.5D treemaps.
Author email addresses:
• daniel.limberger@hpi.de
• matthias.trapp@hpi.de
• juergen-doellner@hpi.de
45 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
46. Bibliography I
[1] BLADH, T., CARR, D. A., AND SCHOLL, J.
Extending tree-maps to three dimensions: A comparative study.
In Proc. APCHI (2004), pp. 50–59.
[2] BOHNET, J., AND DÖLLNER, J.
Monitoring code quality and development activity by software maps.
In Proc. ACM MTD (2011), pp. 9–16.
[3] JOHNSON, B., AND SHNEIDERMAN, B.
Treemaps: A space-filling approach to the visualization of hierarchical information structures.
In Proc. IEEE VIS (1991), pp. 284–291.
[4] MCCABE, T. J.
A complexity measure.
vol. SE-2, pp. 308–320.
46 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
47. Bibliography II
[5] MITCHELL, W., SHOOK, D., AND SHAH, S. L.
A picture worth a thousand control loops: An innovative way of visualizing controller performance
data.
In Invited Plenary Presentation, Control Systems (2004).
[6] SHNEIDERMAN, B.
Tree visualization with treemaps: A 2D space-filling approach.
ACM Trans. Graph. 11, 1 (1992), 92–99.
[7] VLIEGEN, R., VAN WIJK, J. J., AND VAN DER LINDEN, E.-J.
Visualizing business data with generalized treemaps.
IEEE Trans. Vis. Comput. Graph. 12, 5 (2006), 789–796.
[8] WATTENBERG, M.
Visualizing the stock market.
In Proc. ACM CHI EA (1999), pp. 188–189.
47 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
48. Bibliography III
[9] WETTEL, R., AND LANZA, M.
CodeCity: 3d visualization of large-scale software.
In Proc. ACM ICSE Companion (2008), pp. 921–922.
48 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
49. Software Maps — Map Theme
For a given task, a map theme specifies the
mapping of attributes to visual variables.
Technical Depth maps logic lines-of-code to weight, a nesting-level metric to color, and McCabe
complexity [4]. It is used to reveal and monitor the ’technical debts’ inherent to a
software system’s implementation.
Risk of Knowledge Drain maps logic lines-of-code to weight, the number of active developers to color,
and a composite, nesting-level or McCabe based complexity measure indicating
difficult-to-comprehend code to height. It is used to identify complex code units
known only by few developers and reveal knowledge distribution.
49 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
50. Software Maps — Map Theme
For a given task, a map theme specifies the
mapping of attributes to visual variables.
Technical Depth maps logic lines-of-code to weight, a nesting-level metric to color, and McCabe
complexity [4]. It is used to reveal and monitor the ’technical debts’ inherent to a
software system’s implementation.
Risk of Knowledge Drain maps logic lines-of-code to weight, the number of active developers to color,
and a composite, nesting-level or McCabe based complexity measure indicating
difficult-to-comprehend code to height. It is used to identify complex code units
known only by few developers and reveal knowledge distribution.
50 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
51. Software Maps — Map Theme
For a given task, a map theme specifies the
mapping of attributes to visual variables.
Technical Depth maps logic lines-of-code to weight, a nesting-level metric to color, and McCabe
complexity [4]. It is used to reveal and monitor the ’technical debts’ inherent to a
software system’s implementation.
Risk of Knowledge Drain maps logic lines-of-code to weight, the number of active developers to color,
and a composite, nesting-level or McCabe based complexity measure indicating
difficult-to-comprehend code to height. It is used to identify complex code units
known only by few developers and reveal knowledge distribution.
51 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14
52. Software Maps — Goals
Make code quality of software systems visible to “stakeholders in
the development process, particularly, to the management” [2] by
means of depicting, e.g., metrics and activity data.
Depending on the applied map theme Software Maps facilitate
• exploring structures,
• monitoring development processes,
• monitoring software quality, and
• identifying areas that require attention in the ongoing
development process.
52 Interactive, Height-based Filtering in 2.5D Treemaps Daniel Limberger, Matthias Trapp, and Jürgen Döllner VINCI 2018 Växjö, Sweden 2018-08-14