Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Visualizing Large Hierarchies with Drawer Trees

Yalong Yang1 , Ning Dou1 , Shuai Zhao1 , Zhichao Yang1 , Kang Zhang1,2 , Quang Vinh Nguyen3
1
School of Computer Software, Tianjin University, Tianjin, China
2
Department of Computer Science, The University of Texas at Dallas, Richardson, TX 75083, USA
3
MARCS Institute & School of Computing, Eng. and Maths, University of Western Sydney, Sydney, Australia
{yalongyang, dawning, zshuai, yangzc, kzhang}@tju.edu.cn, q.nguyen@uws.edu.au

ABSTRACT harder to grasp unless the nodes/branches are systematically


Enclosure partitioning approaches, such as Treemaps, have laid out in the rendering environment [5]. Unfortunately in
proved their effectiveness in visualizing large hierarchical real world, these hierarchical structures are often very large
structures within a compact and limited display area. Most with thousands or even millions of elements and relation-
of the Treemaps techniques do not use node-links to show the ships. As a result, providing an interactive visualization of
structural relations. This paper presents a new tree visual- the entire structure, with capability for deep exploration at
ization approach known as Drawer-Tree that can be used to different levels of granularity and compromise multiple aes-
present the structure, organization and interrelation of big thetic criteria graph drawing [6] are crucial for the analysts
data. By utilizing the display space with traditional node- in the knowledge discovery process.
link visualization, we have developed a novel method for Space-filling visualization, such as Treemaps techniques
visualizing tree structures with high scalability. The name [5, 9, 4], is novel approach for visualizing large tree struc-
“drawer” is a metaphor that helps people understand the tures in a 2D using enclosure partition for space utilization.
visualization. Treemaps have been considered to be a successful method for
visualizing large hierarchical data sets with attributed prop-
erties. The treemap algorithm works by dividing the display
Categories and Subject Descriptors area into a nested sequence of rectangles whose areas corre-
H.5.4 [Information Interfaces and Presentation]: Hy- spond to an attribute of the dataset, effectively combining
pertext/Hypermedia—Navigation,User Issues aspects of a Venn diagram and a pie chart [4]. These set
of rectangles are referred to as the layout of the Treemaps.
Voronoi’s treemap [2] shows a new way to visualize things
General Terms in arbitrary polygons rather than rectangles, but only with
Human factors simple relationships between items. Interactive control al-
lows users to specify the presentation of both structural and
Keywords content information [22]. This is in contrast to traditional
static methods of displaying hierarchically structured infor-
Information visualization, graph drawing, tree visualization, mation, which generally makes either poor use of display
treemaps, hierarchy space or hide vast quantities of information from users. Al-
though Treemaps were originally designed to visualize files
1. INTRODUCTION on a hard drive [21], they have been applied to a wide variety
Much of data we use today has hierarchical structures. of areas ranging from financial analysis [23], sport reporting
The natural form of this structure includes file systems, busi- [8], image browsing [3] and software and file system analysis
ness organizations, university/department structure, family [1].
tree, manuals catalogs, and library catalogs and other. Such Although space-filling is a great approach for visualizing
structures not only play significant roles in their own right, large hierarchies, most of these techniques do not show the
but also provide means for representing the structure of a relational structure of information explicitly. This costs ex-
complex domain in a manageable form. Small hierarchi- tra cognitive effort for viewers to perceive and understand
cal structures (such as traditional node-link diagrams or file the relational structures that are presented implicitly in the
browsers) are an effective mean for users to location informa- enclosure manner [14], the fast rectangle-packing algorith-
tion, but information embedded in larger hierarchies can be m [7] shows a clear relationships, but the cost of calcula-
tion is high. This paper presents a new tree-based informa-
tion visualization technique for visualizing large hierarchical
structures, called drawer tree. We aim to utilize the dis-
Permission to make digital or hard copies of all or part of this work for play space in layout algorithm by combining enclosure and
personal or classroom use is granted without fee provided that copies are modified fractal approach whilst maintaining a clear hier-
not made or distributed for profit or commercial advantage and that copies archical presentation with traditional node link style. In
bear this notice and the full citation on the first page. To copy otherwise, to addition to presenting readily observable information per-
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
taining to records in a collection, the use of clustering of the
SAC’14 March 24-28, 2014, Gyeongju, Korea. tree branches and different color schema and branch thick-
Copyright 2014 ACM 978-1-4503-2469-4/14/03 ...$15.00.
http://dx.doi.org/10.1145/2554850.2554870 951
ness for different depth level of the tree also convey density 17] exhibit the space filling characteristics of treemap and
and collection organizational/structural information to the beam tree. They are, however, difficult for users to compare
user. sizes between different rectangles, high aspect ratios in large
collections. The problems in reconstructing the hierarchical
2. RELATED WORK information do not exist due to its close resemblance to the
traditional node-link visualization.
Traditional methods for the presentation of hierarchically
Many fractal patterns can be adopted to convert a tra-
structured information can be roughly classified into three
ditional node-link tree to a 2D fractal tree [16]. More im-
categories: listings, outlines, and tree diagrams. It is diffi-
proved techniques have been presented to enhance the effi-
cult for people to extract information from large hierarchical
ciency and qualities of the fractal trees. These techniques
information structures using these methods, as the naviga-
have been proven to be effective for small trees, but gener-
tion of the structure is a great burden and content infor-
ally ineffective when more than thousands elements have to
mation is often hidden within individual nodes [24]. There
be visualized simultaneously.
are two approaches for visualizing tree structures, includ-
In addition, record density and hierarchies represented by
ing the connection approach (such as Classical Hierarchical
these techniques are difficult to perceive due to the layout
View [19], H-tree Layout [20], Hyperbolic Browser [12], B-
algorithms and the absence of visual cues on the tree branch-
otanical Visualization [10]) and the enclosure approach (such
es. In comparison, our drawer tree generate a visualization
as Treemaps [5, 9, 4, 13]) and combined approach (such as
of data in a collection without overlapping of branches and
SO-Tree [14] and Enccon [15]. They are both effective ap-
information pertaining to a record is mapped onto color cod-
proaches for the visualization of hierarchies and the use of
ed branches so that users may acquire density and clustering
each approach depends primarily on the properties of the
information immediately.
data in a particular application domain.
A complete review of all of the methods is outside the
scope of this paper. We only discuss visualization techniques 3. DRAWER TREE
that are related to our drawer-tree visualization. We call our approach drawer tree that resembles drawers
In a hyperbolic tree [12], there is a starting node at the in a large cabinet and clearly distinguishes parent nodes from
center of a hyperbolic tree. All the related entities are di- leaf nodes. Parent nodes could be considered “drawers”, i.e.
rectly linked to it by arcs. The hyperbolic tree provides containers that include leaf nodes.
varying level of details depending on the center position by The drawer tree is a 2D tree expanding in two orthogo-
displaying the node which the user is interested in on the nal directions. It aims at addressing the following design
center and in full detail, while other nodes on the side with criteria:
reduced detail. Although the hyperbolic browser is an in-
teresting technique for navigating/browsing complex sets of • Improve space efficiency
data, it does not scale well when a parent node has many • Provide clear hierarchy presentation
children, since it becomes impossible to identify individual • Enhance the visibility of leaf nodes and parent nodes
nodes. • Show useful information with attributed properties,
Botanical tree [10] visualization uses the strand model of such as space and colors
Holton to convert an abstract tree into a geometric mod- • Provide interactions for exploring through the struc-
el where non-leaf nodes are mapped to branches and child ture
nodes to sub-branches. The botanical tree method exhibit- • Support scalability when handling big data sets
s characteristics of self-similarity [18] and the arrangement Following sections describe the technical details of the
of the branches makes it very similar to a 3D construction Drawer Tree.
of the fractal patterns discussed in [11]. According to the
results reported by the authors, users are intrigued and s- 3.1 Nodes
timulated by the visualization. However, there are several To distinguish leaf nodes and parent (or non-leaf) nodes,
inherent problems with this technique: we represent them differently.
1) Potential occlusion of branches and spheres and
2) Inspection of information (files) mapped onto a spheres 3.1.1 Non-leaf Nodes
is inconvenient for users as they are mapped onto a spherical
In a hierarchical structure, a parent node has other nodes
shape.
as its children. In a drawer tree, a parent node is used to
Beam trees [25] offer a new twist to the treemap approach
represent the drawer.
by scaling down individual nodes in a treemap to introduce
The parent node has the following properties when pre-
occlusion as an extra depth cue while retaining the size pro-
senting the hierarchical information (see Figure 1):
portionality of Treemaps. Since rendition of beam trees is
accomplished via layered views of structure, visualization • Orientation: horizon or vertical;
of records in this multilayer structure can be confusing for • Length: the measure along the orientation;
users because occlusion and overlapping of the rectangles • Gap: the space between two nodes;
requires users to pan, flip or rotate the view camera. In ad- • Thickness: the thickness of the node’s rectangle;
dition, navigation in the beam tree can be tricky for users • Space: the rectangle formed by gap, length and thick-
and could also result in loss of contextual cue because users ness;
have to either zoom-in or eliminate layers that are overlaid • Edge: the line at the node’s rectangle’s top and bot-
upon the structures in the middle of the beam tree in order tom, make it more like a drawer;
to inspect the information. • Color: representing a property of the object, for ex-
Fractal tree-based information visualization techniques [16, ample, the file type in a file system;
952
folder, the bigger size, the more space it is allocated.
In most cases, this way of space allocation works well.
In some situations, however, the particular attribute of each
node that is used as the weight may vary much. For example,
a file A has the disk size 1KB, another file B has the disk
size 1024KB, if we use the above space allocation method,
node B in the drawer tree will take 1024 times of A’s space.
This is apparently undesirable in the visualization, since A
is comparably too small to be noticeable. The drawer tree
uses a gradient decreasing function to solve the problem.
0
w = log2 (w + 2) (1)
Figure 1: Properties of a non-leaf node 0
where w represents the original weight, and w represents
the weight the drawer tree using to calculate the space. Us-
ing Formula 1, in a file system, a 1024KB node takes 6.31
• Name: name of the object;
times in space of the 1KB node.
• Description: a detail description of the object;
After calculating all the weights, each parent node will use
• Child nodes: with a parent node in the hierarchy rela-
the gap of its parent as its length, and use the weight to set
tionship;
the gap. The gap is calculated by Formula 2.
3.1.2 Leaf Nodes 0
w
A leaf node has no children, and is used to represent the gn = l ∗ Pn n 0 (2)
document in the drawer, such as a file in file system. D- i=1 wi
ifferent from a parent node, the drawer tree uses a line to
where gn represents the gap the nth node’s gap taking
represent the leaf node. The leaf node has properties: orien- 0
tation, length, gap, space, color, name, description, as shown from its parent, l is the length of its parent node, wn is the
in Figure 2. weight of the nth node, the denominator shows the sum of
all the child nodes.

3.2.2 For a leaf node


In many cases, there are many more leaf nodes than parent
nodes. Experiments have shown that if we follow the same
partitioning process for the parent node, the visualization
tends to be very crowded with leaf nodes. Therefore, the
drawer tree calculates the space of leaf nodes in either of the
following ways.
• If the space is enough for all the leaves, the drawer
tree will use the same method as the parent nodes, as
shown in Figure 2.
• Let us consider the following example: a node’s gap
Figure 2: Properties of a leaf node has 100 pixels, but it has 500 leaf nodes as its chil-
dren, obviously the space is not enough even when all
3.2 Space parameters and calculation leaf nodes have the same weight. If they have different
The space parameters include location, i.e. a (x, y) co- weights, the situation will be worse. To solve this prob-
ordinate pair in the drawing space, apart from length and lem, the drawer tree gives parent nodes higher priority
gap as defined previously. A node’s space parameters would for space, since the length of a leaf is not as important
affect the space parameters of its child nodes. as it is for a parent node, which needs space to ac-
To compute a node’s position, we first sort the node’s child commodate its children. The space may be utilized by
nodes based on a particular attribute, such as the creation making more levels for leaves, though a balance needs
time of a file in the file system application. to be found since too many levels would make visu-
To make it easier to distinguish parent nodes and leaf alization ineffective. To find an effective balance, the
nodes, a parent node will hold all its child nodes, it will drawer tree uses Formula 3 to compute the number of
first put the nodes that have child nodes in front, and then the levels.
put the other nodes. All the child nodes will use up all the 
 Pn wi
0 

space of their parent node. Therefore, the parent node will  i=0 0
wmin 

lc = tg ∗ +1 (3)

determine how many spaces the child should have. ll
3.2.1 For a parent node
Depending on the application, the drawer tree uses an where lc is the number of the levels, tg measures the
attribute of the data (may be considered weight) as the space minimum gap between two leaves, ll is the length left
0
factor. For example, in a file system application, we could for all the leaves, wmin is the leaf node having the
use the disk size of a folder to determine the space for that minimum weight. In this way the gap for each leaf can
953
be shown in Formula 4. The drawer tree supports two types of interactions: navi-
0 gation and drill down to details, as described below.
w
gn = lc ∗ ll ∗ Pn n 0 (4)
i=1 wi 3.4.1 Navigation
Since there are levels in leaves, the length of the leaves The drawer tree currently supports three navigation modes:
cannot just take the gap of their parent. It can be zoom in, zoom out and back to top.
shown in Formula 5. a) Zooming in
g The drawer tree handles the left click event of the mouse,
ln = − tl (5) and finds the node being clicked, then make this node the
lc
root and redraws the entire tree, as demonstrated in Figure
where g represents the gap of the leaves’ parent node,
4.
tl is a parameter that shows the gap between different
levels. An example is presented in Figure 3.

Figure 4: Zoom-in effect


b) Zooming out
The drawer tree handles the right click event of the mouse,
and makes the last root as the current root node and redraws
the tree, as presented in Figure 5.
Figure 3: Narrowed leaves at multiple levels
3.3 Coloring strategy
The drawer tree is colored, and uses two coloring strategies
as explained below.
3.3.1 Coloring for type
In many applications, data can be classified into types.
The drawer tree uses different colors to represent types, al- Figure 5: Zoom-out effect
lowing users to find data of a given type easily. For example,
c) Back to top
in file system, files can be classified by their types: video,
The drawer tree handles the right double-click event of
audio, picture, text and so on.
the mouse, or the swipe gesture on a touch screen device. It
3.3.2 Coloring for weight and relationships makes the first root node as the root and redraws the entire
tree, as presented in Figure 6.
The other strategy is using the color to represent the
weight information of the nodes. The drawer tree will use
the HSI color scheme to annotate the nodes.
The progress can be described as:
a) Hue range for relationships between a node and its
children
The calculation method is like in Formula 2, the children
will share the hue range of their parent, and in this way we
can easily see the parent-child relationship from color. Figure 6: Back to top
b) Saturation for node level
The saturation can be shown in Formula 6. 3.4.2 Drill down to detailed information
The drawer tree will detect the location of the mouse in
sn = n/nmax (6)
real time, and find the node that contains the mouse lo-
where sn is the saturation of the nodes at the nth level, cation, then draw a box to illustrate this node’s detailed
nmax is the maximum level for the drawer tree. information. The result is shown in Figure 1 and Figure 2.
c) Color intensity for node weight
We make the color intensity correspond to a node’s weight. 4. A CASE STUDY
The heavy the weight is, the darker the intensity.
In this case study, we use the drawer tree to visualize
3.4 Interactions file system to illustrate its visualization effectiveness and
scalability.
Interactions are extremely important for navigating the
In this experiment, the drawer tree has the following char-
visualization space, especially when the drawer tree has a
acteristics:
large number of nodes. The user may wish to focus on some
specific parts of big data. Meanwhile, the drawer tree could • Taking the file size as the weight property
show the most important properties of the data, rather than • Taking the modified time as the sorting property
all the properties. • Coloring file types systematically
954
Figure 7: Drawer tree using C disk folder on Windows, including 305,800 files and folders

Since the drawer tree uses a color scheme for file types, The drawer tree can also visualize big data. Figure 7
we need a color table to map different file types, as shown presents the visualization of the data in the folder “C:\” on
in Figure 8. Windows.
In Figure 7, there are two large files, hiberfill.sys (6.3G-
B) and pagefile.sys (2.1GB), the properties of both file are
shown clearly, the two files use a lot of space because of their
large size. Also these two files frequently change their data,
so their locations are always in front of all the leaves.

Figure 8: Color coding for different file types

First, the drawer tree uses the eclipse software’s folder as


its data, the result is shown in Figure 9. We can easily see
the folder in the middle of the tree has many application files
(pink color), also, the folder “bundle” has many sub-folders,
and so on.

Figure 10: Drawer tree with a c# project


Another use case is shown in the Figure 10 which visu-
alizes a C# project. The figure clearly shows that all the
project files can be divided into two parts, one with many
source code files, the other which include application files
together with DLL files. More importantly, the drawer tree
sorts the files based on their modified time, from which, one
can easily find useful informations:
• The file TempleteDataManager.cs was modified recent-
ly.
• The file AlgorithAllInOne.csproj was modified recent-
Figure 9: Drawer tree using eclipse folder, 4191 n- ly, and since it describes the project that shows files
odes being added or deleted from the project.

955
5. CONCLUSION & FUTURE WORK hierarchies. Journal of Visual Languages &
This paper has presented a novel 2D hierarchical visual- Computing, 7(1):33–55, 1996.
ization, called Drawer Tree. Experiments showed that the [13] J. Liang, S. Simoff, Q. V. Nguyen, and M. L. Huang.
drawer tree algorithm had the capability for visualization of Visualizing large trees with divide & conquer
large data sets. We also provided various interactions and partition. In Proceedings of the 6th International
attributed properties to improve readability and aspect ra- Symposium on Visual Information Communication
tio. Our method utilized the fractal tree-based approach and Interaction, pages 79–87. ACM, 2013.
whose branches expanded in 4 directions. The branches of [14] Q. V. Nguyen and M. L. Huang. Space-optimized tree:
drawer tree are more orderly and thus the space utilization a connection+ enclosure approach for the visualization
is higher. In addition, the actual tree structures presented in of large hierarchies. Information Visualization,
traditional node-link visualizations are properly preserved in 2(1):3–15, 2003.
this visualization as branches at different positions are color [15] Q. V. Nguyen and M. L. Huang. Enccon: an approach
coded and arranged in the appropriate orientation. to constructing interactive visualization of large
We are planning to add more visual properties, and also hierarchical data. Information Visualization,
let users customize to meet their needs in particularly appli- 4(1):1–21, 2005.
cations. We will apply our techniques to other applications [16] Q. V. Nguyen, S. Simoff, and M. L. Huang. Interactive
and data sets. Finally, we will conduct a formal usability visualization with user perspective: a new concept. In
study to evaluate the effectiveness of our approach. Proceedings of the 3rd International Symposium on
Visual Information Communication, page 16. ACM,
2010.
6. REFERENCES
[17] T. Ong, J. J. Leggett, and U. Yun. Visualizing
[1] M. J. Baker and S. G. Eick. Space-filling software hierarchies and collection structures with fractal trees.
visualization. Journal of Visual Languages and In Proceedings of Sixth Mexican International
Computing, 6(2):119–133, 1995. Conference on Computer Science, pages 31–40. IEEE,
[2] M. Balzer, O. Deussen, and C. Lewerentz. Voronoi 2005.
treemaps for the visualization of software metrics. In [18] H.-O. Peitgen, H. Jürgens, and D. Saupe. Chaos and
Proceedings of the 2005 ACM symposium on Software fractals: new frontiers of science. Springer, 2004.
visualization, pages 165–172. ACM, 2005. [19] E. M. Reingold and J. S. Tilford. Tidier drawings of
[3] B. B. Bederson. Quantum treemaps and bubblemaps trees. IEEE Transactions on Software Engineering,
for a zoomable image browser. Proc. User Interface (2):223–228, 1981.
Systems and Technology, pages 71–80, 2001. [20] Y. Shiloach. Arrangements of planar graphs on the
[4] B. B. Bederson, B. Shneiderman, and M. Wattenberg. planar lattice. PhD thesis, PhD thesis, Weizmann
Ordered and quantum treemaps: Making effective use Institute of Science, 1976.
of 2d space to display hierarchies. ACM Transactions [21] B. Shneiderman. Tree visualization with tree-maps:
on Graphics (TOG), 21(4):833–854, 2002. 2-d space-filling approach. ACM Transactions on
[5] M. Bruls, K. Huizing, and J. J. Van Wijk. Squarified Graphics (TOG), 11(1):92–99, 1992.
treemaps. In Data Visualization 2000, pages 33–42. [22] B. Shneiderman. The eyes have it: A task by data
Springer, 2000. type taxonomy for information visualizations. In
[6] W. Huang, P. Eades, S.-H. Hong, and C.-C. Lin. Proceedings of 1996 IEEE Symposium on Visual
Improving multiple aesthetics produces better graph Languages, pages 336–343. IEEE, 1996.
drawings. Journal of Visual Languages & Computing, [23] Smartmoney. Map of the market.
2012. http://www.smartmoney.com/map-of-the-market/,
[7] T. Itoh, Y. Yamaguchi, Y. Ikehata, and Y. Kajinaga. 2013.
Hierarchical data visualization using a fast [24] J. Stasko, R. Catrambone, M. Guzdial, and
rectangle-packing algorithm. IEEE Transactions on K. McDonald. An evaluation of space-filling
Visualization and Computer Graphics, 10(3):302–313, information visualizations for depicting hierarchical
2004. structures. International Journal of Human-Computer
[8] L. Jin and D. Banks. Tennisviewer: A browser for Studies, 53(5):663–694, 2000.
competition trees. Computer Graphics and [25] F. Van Ham and J. J. van Wijk. Beamtrees: Compact
Applications, IEEE, 17(4):63–65, 1997. visualization of large hierarchies. Information
[9] B. Johnson and B. Shneiderman. Tree-maps: A Visualization, 2(1):31–39, 2003.
space-filling approach to the visualization of
hierarchical information structures. In Proceedings of
1991 IEEE Visualization, pages 284–291. IEEE, 1991.
[10] E. Kleiberg, H. Van De Wetering, and J. J. Van Wijk.
Botanical visualization of huge hierarchies. In InfoVis,
volume 1, page 87, 2001.
[11] H. Koike. Fractal views: a fractal-based method for
controlling information display. ACM Transactions on
Information Systems (TOIS), 13(3):305–323, 1995.
[12] J. Lamping and R. Rao. The hyperbolic browser: A
focus+ context technique for visualizing large
956

You might also like