Treemaps with bounded aspect ratio



Similar documents
Agenda. TreeMaps. What is a Treemap? Basics

Hierarchical Data Visualization

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

Squarified Treemaps. Mark Bruls, Kees Huizing, and Jarke J. van Wijk

Hierarchy and Tree Visualization

Treemaps for Search-Tree Visualization

If A is divided by B the result is 2/3. If B is divided by C the result is 4/7. What is the result if A is divided by C?

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Approximation Algorithms

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc.,

Arrangements And Duality

ON THE COMPLEXITY OF THE GAME OF SET.

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Factoring & Primality

HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data

Applied Algorithm Design Lecture 5

Clustering & Visualization

Voronoi Treemaps in D3

Largest Fixed-Aspect, Axis-Aligned Rectangle

MATHS LEVEL DESCRIPTORS

Near Optimal Solutions

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Common Core Unit Summary Grades 6 to 8

Graphs without proper subgraphs of minimum degree 3 and short cycles

Section 1.1. Introduction to R n

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Full and Complete Binary Trees

Hierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007

6.3 Conditional Probability and Independence

6 EXTENDING ALGEBRA. 6.0 Introduction. 6.1 The cubic equation. Objectives

Offline sorting buffers on Line

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

SMT 2014 Algebra Test Solutions February 15, 2014

CAD Algorithms. P and NP

Scope and Sequence KA KB 1A 1B 2A 2B 3A 3B 4A 4B 5A 5B 6A 6B

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Scheduling Real-time Tasks: Algorithms and Complexity

Adaptive Online Gradient Descent

An example of a computable

THE SCHEDULING OF MAINTENANCE SERVICE

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Vector storage and access; algorithms in GIS. This is lecture 6

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

Indiana State Core Curriculum Standards updated 2009 Algebra I

7.2 Quadratic Equations

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

4. How many integers between 2004 and 4002 are perfect squares?

Algorithm Design and Analysis

G C.3 Construct the inscribed and circumscribed circles of a triangle, and prove properties of angles for a quadrilateral inscribed in a circle.

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS

A Note on Space-Filling Visualizations and Space-Filling Curves

Such As Statements, Kindergarten Grade 8

Solutions to Exercises, Section 5.1

13. Write the decimal approximation of 9,000,001 9,000,000, rounded to three significant

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Minesweeper as a Constraint Satisfaction Problem

Space-filling Techniques in Visualizing Output from Computer Based Economic Models

Fairness in Routing and Load Balancing

Ordered Treemap Layouts

Performance Level Descriptors Grade 6 Mathematics

R-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants

Small Maximal Independent Sets and Faster Exact Graph Coloring

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Basic Concepts of Point Set Topology Notes for OU course Math 4853 Spring 2011

JUST THE MATHS UNIT NUMBER 1.8. ALGEBRA 8 (Polynomials) A.J.Hobson

A Working Knowledge of Computational Complexity for an Optimizer

Academic Standards for Mathematics

How To Check For Differences In The One Way Anova

The Trip Scheduling Problem

Chapter 6. Cuboids. and. vol(conv(p ))

Load balancing of temporary tasks in the l p norm

Support Materials for Core Content for Assessment. Mathematics

Higher Education Math Placement

Geometry. Higher Mathematics Courses 69. Geometry

GAP CLOSING. 2D Measurement. Intermediate / Senior Student Book

School Timetabling in Theory and Practice

Mathematical Induction

Data Warehousing und Data Mining

SECTION 1-6 Quadratic Equations and Applications

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

Analysis of Algorithms I: Binary Search Trees

1 if 1 x 0 1 if 0 x 1

Stochastic Inventory Control

2010 Solutions. a + b. a + b 1. (a + b)2 + (b a) 2. (b2 + a 2 ) 2 (a 2 b 2 ) 2

The degree of a polynomial function is equal to the highest exponent found on the independent variables.

INCIDENCE-BETWEENNESS GEOMETRY

Estimating the Average Value of a Function

Polynomial Degree and Finite Differences

MOP 2007 Black Group Integer Polynomials Yufei Zhao. Integer Polynomials. June 29, 2007 Yufei Zhao

The Classes P and NP

WORK SCHEDULE: MATHEMATICS 2007

Regular TreeMap Layouts for Visual Analysis of Hierarchical Data

Reading 13 : Finite State Automata and Regular Expressions

Transcription:

technische universiteit eindhoven Department of Mathematics and Computer Science Master s Thesis Treemaps with bounded aspect ratio by Vincent van der Weele Supervisor dr. B. Speckmann Eindhoven, July 31, 2010

Abstract Trees can be visualized in many ways. If each leaf has a certain weight, and the weight of a tree is the sum of the weights of its subtrees, a tree-map can be a useful visualization. In a tree-map, a tree is represented by a rectangle. This rectangle is partitioned into a number of smaller rectangles, one for each subtree, such that the area of each rectangle is proportional to the weight of its corresponding subtree. This approach is repeated recursively, until each leaf is represented by a rectangle having area proportional to its weight. Tree-maps are first mentioned by Shneiderman, who gives a simple slice-and-dice algorithm to compute a tree-map. However, the aspect ratio - measuring if a rectangle is close to square - can be very poor in this method. In general, the weights of a tree can be compared more easily if the aspect ratios of all rectangles are relatively low. Heuristics have been developed to keep the overall aspect ratio low, but without guarantees on the maximal aspect ratio. We look into bounding the aspect ratio for trees of depth one - consisting of a root and a number of leaves. We prove that finding a treemap with minimal aspect ratio for such a tree is strongly NP-complete. We give a method to always obtain a treemap of aspect ratio at most k + 1 if the highest weight in the input is at most k times the lowest weight. Moreover, we study treemaps in which shapes other than rectangles are allowed. If we allow L-shapes, we can always find a treemap with aspect ratio at most 2 + 2 3/3. If we allow three extra convex shapes, we can guarantee a convex treemap with aspect ratio at most 9/2. i

Contents Abstract i 1 Introduction 1 1.1 Related work.................................... 2 1.2 Preliminaries.................................... 4 1.3 Problem statement................................. 4 2 Tree Mapping is Strongly NP-complete 7 2.1 Reduction from square packing to complete square packing.......... 7 2.1.1 Problem definitions............................. 7 2.1.2 NP-completeness proof........................... 8 2.2 Reduction from complete square packing to tree mapping........... 9 3 Range Tree Mapping 11 4 Rectilinear Tree Mapping 15 4.1 Partitioning a set of weights............................ 15 4.2 A recursive layout procedure........................... 18 4.3 An upper bound on A T.............................. 19 4.3.1 First weight is high............................. 19 4.3.2 First weight is low............................. 22 4.3.3 Calculating the upper bound on A T................... 22 4.4 Tightness...................................... 24 4.5 Example....................................... 26 iii

5 Convex Tree Mapping 29 5.1 A recursive layout procedure........................... 29 5.2 Properties of convex container splits....................... 30 5.2.1 Rectangle.................................. 30 5.2.2 Triangle................................... 31 5.2.3 Chisel.................................... 31 5.3 Algorithm for convex tree mapping........................ 36 5.3.1 Analysis................................... 36 5.4 Example....................................... 39 6 Conclusion 41 6.1 Open problems................................... 41 References 44

Chapter 1 Introduction Visualization is a very important way to gain insight in all kinds of data. Probably the most ubiquitous visualization in business and mass media is the pie chart [6]. This kind of chart can be very useful for showing relative sizes of a certain quantity. As an example, Figure 1.1 shows the revenue for a number of products of a tool supplier. This example immediately illustrates one of the biggest problems with pie charts: if a certain quantity is much smaller than an other, its pie slice becomes very skinny. This makes it very difficult to compare the revenues of Brass screws and Sockets, for instance. Figure 1.1: Example piechart Professional Drill Rotary Hammer Circular Saw Jigsaw Planer Stainless Steel Screws Brass Screws Galvanized Nails Lightswitch Socket Much data has a certain hierarchy. For the example of the tool supplier, the various tools are grouped in product categories and subcategories, as shown in Figure 1.2. If we are interested in both the hierarchy and the relative revenues, we would like to have a combination of the pie chart and the tree structure. For this purpose, Shneiderman invented treemaps [13]. In a treemap, we start off with a rectangle (instead of a circle in a pie chart). The rectangle is then partitioned into a number of subrectangles, such that each of these rectangles corresponds to a child of the root, and its area is proportional to the numeric value of that node (the revenue in our tool example). This approach is repeated recursively until all leaves are placed. Dividing a rectangle into a number of subrectangles can be done in many ways, which we call layouts. Sheiderman also gave a simple algorithm, called slice-and-dice, for this purpose. The cuts are all vertical or all horizontal, alternating in the levels of the tree. The treemap for our running example obtained this way is shown in Figure 1.3. From Figure 1.3, we can immediately see a problem with the slice-and-dice algorithm. It is very hard to tell which of Brass Screws and Galvanized Nails is the bigger. This is caused 1

2 Chapter 1. Introduction Power Tools Drills Tools Professional Drill Rotary Hammer Circular Saw Jigsaw Planer Screws and Nails Screws Nails Stainless Steel Screws Brass Screws Galvanized Nails Electrical Lightswitch Socket Figure 1.2: Example hierarchy by Brass Screws being represented by a very stretched rectangle, while Galvanized Nails rectangle is nearly square. It would be much easier to interpret if all rectangles would be nearly square. For this purpose, we use aspect ratio as a measure for the squareness of a rectangle. For a rectangle, this is simply the ratio between the length of the longer and shorter side. We formally define aspect ratio in Section 1.2. Figure 1.3: Example treemap Professional Drill Rotary Hammer Circular Saw Jigsaw Planer Stainless Steel Screws Brass Screws Galvanized Nails Lightswitch Socket We want to find a layout algorithm that guarantees the aspect ratio to be low. In this thesis, we study trees of height one only. Still, we first look into some related work on full trees. Then, we formalize our problems. 1.1 Related work After the introduction of treemaps by Sheiderman [13], these have been studied extensively. Since 1998, Shneiderman has maintained a website on all results in this field [12]. In order to overcome the problem of elongated rectangles, both Bruls et al.[5] and Shneiderman and Wattenberg [3], independently found a solution that keeps the rectangles close to square. However, both methods are heuristics, which means that these, although possibly valuable in practice, cannot guarantee a bound on the aspect ratio in the solution.

1.1. Related work 3 Later research has mainly focussed on fine-tuning or combining existing methods in order to fit special purpose applications best. Treemaps have been applied to all kinds of hierarchical data. For instance, they are used on stock market portfolios, in order to guide financial decision making [9], on tennis competitions trees [8], on large photo collections, in order to ease navigation [3] and on business data [14]. Wood and Dykes adapt squarified treemaps to spatial data, such that the position of a rectangle in the treemap roughly corresponds to the position of the corresponding node in the input [17]. Moreover, extra visualization techniques are applied to help users interpret the treemaps. A nice example are cushion treemaps by Van Wijk and Van de Wetering [16], that use shadows and 3D-effects to emphasize tree hierarchies. There are input trees that cannot lead to a treemap with good aspect ratio, if we allow rectangles only. The most simple example is shown here. The colored rectangle becomes infinitely skinny if the difference in size with the white rectangle increases. Therefore, recent research has mainly focussed on allowing shapes other than rectangles in the treemaps. Balzer and Deussen use centroidal Voronoi tessellations as structure for their treemaps [1, 2]. Such a tessellation has the nice property that the center of mass of each Voronoi cell coincides with its site. This typically results in cells of good aspect ratio, see Figure 1.4(a). The calculation of these centroidal Voronoi tessellations is based on an iterative, heuristic algorithm, and hence the aspect ratio is not provably good and the cell areas are not necessarily exactly proportional to the leaf values they represent. Wattenberg takes space filling curves as the underlying technique for his treemaps [15]. This result in somewhat awkward looking shapes that are still orthogonal but typically not convex (see Figure 1.4(b)). He proves that using this kind of shapes is necessary to meet four selfdefined properties. Three of these properties are on the position of the shapes as a function of the input tree. Only the fourth property is an equivalent of aspect ratio for rectangles. Recently, Onak and Sidiropoulos presented a method to build treemaps from convex polygons only, for which a bound on the aspect ratio can be proved [11]. The polygons in these treemaps can have arbitrary edge directions. For an input tree of depth d and with n leafs, the aspect ratio is O((d log n) 17 ). In cooperation with De Berg, this bound has been improved to O(d + log n) [4]. An example of what such a treemap can look like is shown in Figure 1.4(c). (a) Voronoi treemap [1] (b) Jigsaw treemap [15] (c) Convex treemap [4] Figure 1.4: Example treemaps using shapes other than rectangles. Figures are obtained from the respective papers.

4 Chapter 1. Introduction 1.2 Preliminaries As stated in the introduction of this chapter, we want to find treemaps with provably good aspect ratios. We restrict ourselves to trees of depth 1, which are basically sets. For a single-level tree T, we use set notation and write T = {w 1, w 2,..., w n }. Here, w i is the weight of the ith child of the root. Although we speak of a set, the weights are not necessarily unique. Without loss of generality, we always assume that the weights are normalized, that is w(t ) = n i=1 w i = 1. Definition 1 For a single-level tree T, layout L T is a partition of the unit square into a number of disjoint regions L 1, L 2,..., L n, such that area(l i ) = w i, for 1 i n. We call the unit square the container of the layout. Since our algorithms create layouts recursively, we often consider the layout of a subset of the weights in a subset of the container. Such a subset is not necessarily square and is called a subcontainer. For convenience, we assume that every subcontainer has area 1. That is, we always scale the subset of weights under consideration, such that its total weight is 1. We are not just interested in any layout. As observed in the introduction of this chapter, the sizes of the various regions are easier to compare if all regions are nearly as square and orientated similarly. Therefore, we define aspect ratio as follows. Definition 2 The aspect ratio of a region is given by the area of the smallest axis-aligned circumscribed square, divided by the area of the region. We use A to denote aspect ratio and write A L for the aspect ratio of region L. It is not hard to see that aspect ratio is minimal for an axis-aligned square, in which case the aspect ratio is 1. Note that, for axis-aligned rectangles, this definition is equivalent to the intuitive definition that aspect ratio is the ratio between the lengths of the longer and shorter side. We want the aspect ratio of all regions in a layout to be good. Therefore, we define that the aspect ratio of a layout for T, A L, is the maximum over the aspect ratio of all regions: A L = max L L A L. 1.3 Problem statement For single-level trees, the problem of finding a traditional treemap with optimal aspect ratio can be formulated as follows. Tree mapping. Given is a single-level tree T. Find the layout L T such that A L is minimal and all regions L 1, L 2,..., L n of L T are rectangles. Unfortunately, this problem is strongly NP-complete, as we prove in Chapter 2. Therefore, we also look into related problems.

1.3. Problem statement 5 As we saw in the introduction of this chapter, it is in general undesirable from a visualization perspective having shapes with high aspect ratio in the layout. Therefore, we want to find algorithms that can solve tree mapping, such that the aspect ratio is at most A, for some constant A and for any input tree. However, we already noticed in Section 1.1 that this is impossible, as the aspect ratio of a layout of two rectangles can go to infinity, if their weights differ a lot. Therefore, we propose three other approaches. Probably the most self-evident solution is just not allowing this case. That is, we can restrict the input, such that the highest weight is at most k times the lowest weight. This problem, which is called range tree mapping, is studied in Chapter 3. We prove there, that we can always give a layout of aspect ratio at most k + 1 in this case. The other logical approach is to introduce shapes other than rectangles. We do so in two different ways. In Chapter 4, we discuss the problem called rectilinear tree mapping. Besides rectangles, the regions in the layout may be L-shapes there. As a result, all shapes in these layouts are still rectilinear, but not necessarily convex (as the rectangle is the only shape that is both rectilinear and convex). With this method, we can give a layout of aspect ratio at most 2 + 2 3/3, for any input tree. Finally, we study layouts with shapes that have edges under a 45 degree angle as well. We consider only four different shapes in these layouts, which are not rectilinear, but still convex. This method, which we call convex tree mapping and is studied in Chapter 5, guarantees a layout with aspect ratio at most 9/2, for any input tree.

Chapter 2 Tree Mapping is Strongly NP-complete In this chapter, we prove that tree mapping (TM) is strongly NP-complete. This is a special case of NP-completeness. A problem having numerical parameters (weights w i in our case) is called strongly NP-complete if the problem remains NP-complete when the numerical parameters are bounded by a polynomial in the length of the input [7]. We prove that tree mapping is strongly NP-complete in two steps. First, we reduce a wellknown strongly NP-complete problem - square packing [10] - to an intermediate problem that we call complete square packing. This problem is defined in Section 2.1. Then, we reduce this problem in turn to tree mapping. 2.1 Reduction from square packing to complete square packing In order to show that complete square packing is strongly NP-complete, by a reduction from square packing, we first define both problems briefly. 2.1.1 Problem definitions All squares we consider have integer side lengths. That is, for a given square R, we have area(r) = k 2, for some integer k. Leung et al. define square packing (SP) as follows [10]. Square packing. Given a packing square S and a set of packed squares L = {s 1, s 2,..., s l }, is there an orthogonal packing of L into S? Stating the problem a little more extensively, we are given a square S and a set of squares L. A packing of L in S is a non-overlapping placement of all squares of L into S. In an orthogonal packing, all squares of L must also be placed axis-aligned. An example of an orthogonal packing is given in Figure 2.1. The set of packed squares L 1 can be packed in S orthogonally as shown. However, it is impossible to pack L 2 into S. Square packing is proven to be strongly NP-complete by Leung et al.[10]. For our purposes, we would like the square packing to fit exactly. That is, no holes may be present in the packing. (Compare this to the packing of L 1 into S in Figure 2.1. This packing 7

8 Chapter 2. Tree Mapping is Strongly NP-complete S: L 1 : L 2 : L 1 in S: Figure 2.1: Square packing example. L 1 can be packed in S, as shown. However, there is no orthogonal packing of L 2 into S. does contain two holes.) Therefore, we define a new, yet related, problem, called complete square packing (CSP). Complete square packing. Given a packing square T and a set of packed squares M = {t 1, t 2,..., t m }, such that area(t ) = m i=1 area(t i), is there an orthogonal packing of M into T? 2.1.2 NP-completeness proof In this section, we reduce SP to CSP in order to show that the latter is strongly NP-complete. Let a packing square S and a set of packed squares L = {s 1, s 2,..., s l } be an instance of SP. We create an instance of CSP as follows. Let T be a packing square, with area(t ) = area(s) and M = {t 1, t 2,..., t m } a set of packed squares with m = l + area(s) l i=1 area(s i) and area(t i ) = area(s i ) for 1 i l, area(t i ) = 1 for l < i m. The only difference between the two problem instances is that the CSP instance has m l extra unit squares. The area of these squares is equal to the total area of the gaps that remain if L can be packed into S. The following lemma shows that both problems have a solution in the same situations. Lemma 1 There is a solution to the SP instance if and only if there is a solution to the CSP instance. Proof. Assume there is a solution to the CSP instance. Leaving out the last m l squares of size 1 immediately gives a solution to the SP instance. Assume there is a solution to the SP instance. Since all squares have integer side lengths, we can align the packing with the unit grid, as shown in Figure 2.2. Then, all gaps consist of complete grid cells only, which can be filled by the m l unit squares.

2.2. Reduction from complete square packing to tree mapping 9 (a) A non-aligned square packing. (b) The same packing, aligned to the unit grid. Figure 2.2: Example of aligning an orthogonal packing with the unit grid, by shifting each square up and left. Using this lemma, we can prove that CSP is strongly NP-complete. Theorem 2 The complete square packing problem is strongly NP-complete. Proof. A non-deterministic Turing machine can guess a position for each square and check in polynomial time whether this packing is valid. Therefore, complete square packing is in NP. In order to show that the problem is strongly NP-hard, we have given a reduction from square packing. Since that problem is strongly NP-complete, we may assume that area(s) is polynomial in the number of packed squares l of the square packing instance. Therefore, the number of packed squares m of the complete square packing instance is polynomial in l and the reduction can be done in polynomial time. By Lemma 1, the instance of square packing has a solution if and only if the instance of complete square packing has a solution, which completes the proof. 2.2 Reduction from complete square packing to tree mapping In a similar way as in the previous section, we give a reduction from CSP to TM, in order to show that the latter is strongly NP-complete. Let a packing square T and a set of packed squares M = {t 1, t 2,..., t m } be an instance of CSP. We construct an instance of TM as follows. Let T = {w 1, w 2,..., w m } be a single-level tree, such that w i = area(t i )/ area(t ) for 1 i m. Lemma 3 There is a solution to the CSP instance if and only if the instance of TM gives a layout of aspect ratio 1. Proof. Assume the instance of TM gives a layout L of aspect ratio 1. That means that all regions L i L are squares. Therefore, there is a solution to the CSP instance. Assume there is a solution to the CSP instance. The same layout would result in an aspect ratio of 1 for the TM instance, since all regions are squares. Since TM gives the layout with minimal aspect ratio, which is at least 1, TM gives a layout of aspect ratio 1 in this case.

10 Chapter 2. Tree Mapping is Strongly NP-complete Using this lemma, we can easily show tree mapping to be strongly NP-complete as well. Theorem 4 The tree mapping problem is strongly NP-complete. Proof. The position and aspect ratio of each rectangle can be guessed by a non-deterministic Turing machine and the resulting layout can be verified in polynomial time. Therefore, tree mapping is in NP. We have given a reduction from complete square packing, which can clearly be done in polynomial time. By Lemma 3, the instance of complete square packing has a solution if and only if the instance of tree mapping has a solution with aspect ratio 1, which completes the proof.

Chapter 3 Range Tree Mapping In Section 1.1, we saw that the aspect ratio of a layout can become arbitrarily large, if a small and large rectangle need to be laid out next to each other. One of the solutions to overcome this, is by not allowing this kind of input. This leads to the following problem definition. Range tree mapping. Given is a single-level tree T = {w 1, w 2,..., w n } and a constant k 2, such that w i /w j k, for each 1 i, j n. Give a layout L T, such that aspect ratio A L depends on k only and all regions L 1, L 2,..., L n of L T are rectangles. Just as with standard tree mapping, we are given a single-level tree T = {w 1, w 2,..., w n }. We assume that the weights are sorted descendingly. The extra constraint now is that each pair of weights is at most a certain factor k apart. In particular, w 1 k w n. We want to show that we can always find a layout L T, such that its aspect ratio is bounded by k. We solve the problem recursively. That is, we want to split both the set of weights and the container into two and lay each subset out in its respective subcontainer. If we can guarantee some invariant on the aspect ratio of the subcontainers, we are nearly done. As the most simple case, we first consider the layout of two weights - within a certain range - in a container with bounded aspect ratio. Lemma 5 Given is a single-level tree T = {w 1, w 2 }, where w 2 w 1 k w 2, for some constant k 1. Moreover, there is a container C of aspect ratio A C, where 1 A C (k + 1) 2 /k. Then, there is a layout L T with aspect ratio at most k + 1. Proof. Using w 1 + w 2 = 1 and w 1 k w 2, we know w 1 w w 2 w w 1 k k + 1 and w 2 1 k + 1. We slice the long side of the container, as shown in Figure 3.1. By Definition 2 and using w 1 w 2, the aspect ratio of this layout L T is ( ) 1 A L = max w 1 A C,. w 2 A C h w 1 w 2 w Figure 3.1: Slicing the long side of C. Here w/h = A C. 11

12 Chapter 3. Range Tree Mapping We bound both parts, using the given inequalities: and Hence, w 1 A C k (k + 1)2 k + 1 k = k + 1 1 w 2 A C (k + 1)/1 = k + 1 A L max(k + 1, k + 1) = k + 1. In order to use Lemma 5 recursively, we need a way to split a set of weights into two subsets such that their total weights are at most a factor k apart. In the following lemma, we show that this is always possible, provided that the weights are within a factor k in the first place. Lemma 6 Given is a single-level tree T = {w 1, w 2,..., w n }, for some integer n 2, and a constant k 2, such that w i /w j k, for each 1 i, j n. We can partition T into two subsets T 1 and T 2, such that w(t 2 ) w(t 1 ) k w(t 2 ). Proof. For convenience, we assume that the weights are ordered descendingly. We prove the claim by induction on n. If n = 2, it is not hard to see that T 1 = {w 1 } and T 2 = {w 2 } is a valid partition. If n > 2, we let w m = w n 1 + w n and T m = {w 1, w 2,..., w n 2, w m }. Then, and w i /w m < w i /w n k for 1 i n 2 w m /w i 2 w n 1 /w n 1 k for 1 i n 2. We can partition T m into T 1 and T 2, such that w(t 2 ) w(t 1 ) k w(t 2 ), by the induction hypothesis. It is not hard to see that we then have a valid partition for T as well, by replacing w m by w n 1 and w n. Combining Lemma s 5 and 6, we obtain the following theorem. Theorem 7 For every instance of range tree mapping we can give a layout L of aspect ratio at most k + 1. Proof. We prove the bound on the aspect ratio by induction on n. If n = 1, there is only one rectangle, which fills the entire container. In that case, A L = A C k + 1. For n 2, input tree T can be split into two subsets T 1 and T 2, according to Lemma 6. Let T = {C 1, C 2 } be a tree with C 1 = w(t 1 ) and C 2 = w(t 2 ). By Lemma 5, there is a layout L T with aspect ratio at most k + 1. By the induction hypothesis, there are layouts for T 1 in C 1 and T 2 in C 2, with aspect ratio at most k + 1. Therefore, the total layout has aspect ratio at most k + 1.

13 Note that, according to Theorem 7, we can only guarantee an aspect ratio of 3, even if the highest and lowest weight are a factor less than 2 apart, since k 2, by definition of range tree mapping. The following example shows that this bound is tight. Let T = {w 1, w 2, w 3 } be a single-level tree, such that w 1 = w 2 = w 3 = 1/3. The only two possible layouts (modulo rotation and reflection) are shown in Figure 3.2. In either case, the hatched rectangle has aspect ratio 3 (which is easily seen by Definition 2, since the container is the smallest enclosing square of this rectangle). Figure 3.2: The only two different layouts for 3 equally sized rectangles in a square. The hatched rectangle has aspect ratio 3.

Chapter 4 Rectilinear Tree Mapping In the previous chapter we saw how to create a layout of constant aspect ratio, by restricting the range of the weights in the input. However, we would like to have a similar result for arbitrary input. From Section 1.1 we know that this is not possible in general, as shown in Figure 4.1(a). However, we can overcome this by allowing regions other than rectangles, as shown in Figure 4.1(b). (a) (b) Figure 4.1: Two layouts of a big and a small weight. In (a) the colored rectangle s aspect ratio becomes infinitely large if the difference in weight between the two rectangles increases. However, the colored rectangle in (b) can always have good aspect ratio, regardless of the weight difference. The white region in Figure 4.1(b) is called an L-shape, by its resemblance to the capital letter L. Allowing L-shapes in our layouts, we are interested in the following problem. Rectilinear tree mapping. Given is a single-level tree T = {w 1, w 2,..., w n }. Give a layout L T, such that aspect ratio A L is at most a constant A T and all regions L 1, L 2,..., L n of L T are rectangles or L-shapes. We want to solve rectilinear tree mapping recursively, by repetitively partitioning the set of weights into two subsets of more or less equal weight. We then lay these subsets out independently of each other. Before we describe this recursive layout procedure in detail, we analyse how to partition the weights. 4.1 Partitioning a set of weights Our solutions to rectilinear tree mapping and convex tree mapping (described in Chapter 5) work by recursively partitioning the input into two sets and solving these separately. We often want these subsets to be of roughly the same total weight, in order to meet the recursion invariants that are necessary to prove a bound on the aspect ratio. 15

16 Chapter 4. Rectilinear Tree Mapping We consider a special type of input set T t = {w 1, w 2,..., w n }. Again, by assumption, w(t ) = n i=1 w i = 1. Now, we are also given a threshold variable t < 1, such that w i t, for 1 i n. In words, we are given a set of weights that all are relatively small. We let Tt denote the set of all possible input sets T t. We want to partition such a set T t into two subsets T 1 and T 2, such that their total weights are close together. This is measured by a ratio r = w(t 1 ) / w(t 2 ), assuming that T 1 is the bigger of the two. We are interested in the relation between t and r. In particular, over all possible input sets T t, what is the worst-case optimal partition? For a given set of weights T t, we write r(t t ) = w(t 1 )/w(t 2 ) for the optimal partition T 1, T 2 of T t. Moreover, we define r t = max (r(t t ) T t Tt ). That is, r t is ratio of the worst-case optimal partition. We want to find a bound on r t. For the analysis, we make use of a simple packing scheme. We sort the elements of T t by decreasing weight. An important consequence of this sorting is that w i 1/i, for all 1 i n. Then, we start off with T 1 = T 2 = and repetitively take the highest weight of T t and put it in the subset that has least total weight up till then. This procedure is formalized in Algorithm 1. Algorithm 1: Simple Packing Scheme T 1 = T 2 = for 1 i n do if w(t 1 ) w(t 2 ) then T 1 = T 1 {w i } else T 2 = T 2 {w i } if w(t 1 ) < w(t 2 ) then Swap T 1 and T 2. Lemma 8 Using Algorithm 1, the difference in weight between T 1 and T 2 is at most the weight that was added to T 1 last. Proof. Let w k be the last weight added to T 1. Moreover, let T k + be the set of weights after w k. These are all added to T 2. Hence, w(t 1 ) w k w(t 2 ) w(t k +), otherwise, w k would not have been added to T 1. Since w(t k +) 0, we have w(t 1 ) w(t 2 ) w k. In our recursive algorithms, we are roughly interested in r t for 1/5 t 2/3. For the analysis, we first split this range into two and treat the cases for t < 1/3 and t 1/3 separately, in order to keep the proofs short. Lemma 9 The worst-case optimal partition has ratio r t = 2, for 1/3 t 2/3. Proof. Consider a set T t = {w 1, w 2, w 3 } and w i = 1/3, for 1 i 3. It is not hard to see that T 1 = {w 1, w 2 }, T 2 = {w 3 } is an optimal partitioning in this case. Clearly, w(t 1 ) = 2/3, which gives r(t t ) = 2 and, hence, r t 2.

4.1. Partitioning a set of weights 17 For the upper bound on r t, we are given some set of weights T t and need to show that w(t 1 ) 2/3. If w 1 1/2, T 1 = {w 1 } is sufficient. Now, assume that w 1 < 1/2. We use the packing scheme of Algorithm 1. By Lemma 8, the difference in weight between T 1 and T 2 is at most the weight that was put in T 1 last. Since w 2 w 1 < 1/2, w 3 is the first candidate to be put in T 1 last, as eventually w(t 1 ) 1/2. We know that w 3 1/3, hence w(t 1 ) w(t 2 ) 1/3 and w(t 1 ) 2/3. Lemma 10 For 1/5 t < 1/3, the worst-case optimal partitioning has ratio { 3/2 if t 3/10; r t = 2t/(1 2t) if t > 3/10. Proof. In a similar way as in the proof of Lemma 9, we can show that r t 3/2, by considering a set T t of 5 weights, each being 1/5. For the other direction, we are given some set of weights T t and distinguish two different cases: w 2 + w 3 1/2: Since the weights are sorted descendingly, we know that w 1 + w 2 w 1 + w 3 w 2 + w 3 1/2, so T 1 = {w 2, w 3 }, T 2 = T t \ {w 2, w 3 } is an optimal partitioning. It is not hard to see that w(t 1 ) is maximal if w 3 = w 2 = w 1 = t, which makes that r(t t ) = 2t/(1 2t). w 2 + w 3 < 1/2: Again, we distinguish two cases. w 1 + w 4 1/2: Then, T 1 = {w 1, w 4 }, T 2 = T t \ {w 1, w 4 } is a valid partitioning and w(t 1 ) < 1/3 + 1/4 = 7/12. w 1 + w 4 < 1/2 : Then, w 5 is the first weight that can make w(t 1 ) 1/2. By Lemma 8, w(t 1 ) 3/5. Therefore, we see that w(t 1 ) 3/5 and, hence, r(t t ) 3/2 in this case. Combining the results, we have r t = max ( 3/2, 2t/(1 2t) ). On the interval of interest, 2t/(1 2t) is an increasing function. For t = 3/10, we have 2t/(1 2t) = 3/2. This concludes the proof. The results of Lemma 9 and 10 are joined into the following theorem, that states the relationship between the threshold and the worst-case optimal partitioning, for the range of interest. Theorem 11 For 1/5 t 2/3, the worst-case optimal partitioning has ratio 3/2 if 1/5 t 3/10; r t = 2t/(1 2t) if 3/10 < t < 1/3; 2 if 1/3 t 2/3.

18 Chapter 4. Rectilinear Tree Mapping 4.2 A recursive layout procedure L-shapes are introduced to solve the problems that arise when some weights are much higher than others. Moreover, high weights have much more impact on the final layout than low ones. These observations together justify the procedure of first considering the maximal weight and treating the rest later. Intuitively, we can distinguish three cases: 1. The maximal weight is relatively high and the container is (nearly) square. In this case, we lay the corresponding region out as an L-shape and recurse on the remainder of the container and the remaining weights (see Figure 4.2(a)). 2. The maximal weight is relatively high and the container is elongated. In this case, we lay the corresponding region out as a rectangle and recurse on the remainder of the container and the remaining weights (see Figure 4.2(b)). 3. The maximal weight is relatively low. That is, all weights are relatively low. Therefore, we can split them into two subsets of more or less equal total weight, according to Section 4.1. We then cut the container and recurse on each of the subcontainers and their corresponding subset (see Figure 4.2(c)). T : C: (a) The largest (shaded) region is laid out as an L-shape and the rest is dealt with recursively T : C: (b) The largest (shaded) region is laid out as a rectangle and the rest is dealt with recursively T : C: (c) The weights are split into two subsets, each of which is dealt with recursively Figure 4.2: Layouts based on the relative size of the maximal weight and the aspect ratio of the container. T denotes the set of weights and C denotes the container. Note that we only split rectangles recursively. We never need to lay out a set of weights in an L-shape, as we only use these for the region of a single weight. We are aiming for a recursive method that guarantees some target aspect ratio A T. Obviously, a layout for only one weight (the base case for our recursion) has an aspect ratio equal to the aspect ratio A C of the container C it is in. Therefore, we must be able to bound the aspect

4.3. An upper bound on A T 19 ratio of the containers. For this, we need an invariant aspect ratio A I, such that A C A I, for any container C we consider in the recursion. Finally, we need a threshold variable t, which determines what weights are high. That is, a weight w i is called high if and only if it is at last the threshold: w i t. In Section 4.3 we try to minimize A T as a function of A I and t. In other words, knowing that a specific choice for a container aspect ratio invariant and a threshold results in a certain upper bound for the aspect ratio of the layout, we try to find values for these such that the upper bound on the aspect ratio is as small as possible. 4.3 An upper bound on A T We are given a single-level tree T. As before, we assume that the weights are ordered descendingly. For each of the three intuitive cases described Section 4.2, we compute the requirements in order to meet the target aspect ratio. We write A(T ) for the aspect ratio of the container, which T is to be laid out in. For case 1, we must make sure that i) the aspect ratio of the L-shape meets the target: A({w 1 }) A T ; ii) the aspect ratio of the remainder meets the invariant: A(T \ {w 1 }) A I. For case 2, we must make sure that iii) the aspect ratio of the big rectangle meets the target: A({w 1 }) A T ; iv) the aspect ratio of the remainder meets the invariant: A(T \ {w 1 }) A I. Finally, for case 3, we must make sure that v) the aspect ratios of both subsets meet the invariant: A(T 1 ) A I and A(T 2 ) A I. 4.3.1 First weight is high First, we analyse the cases in which the first weight is high, w 1 t. This corresponds to requirements i) - iv). Requirement ii) is easily met. By Definition 2, the aspect ratio of an L-shape is independent of the shape of the rectangle that is cut out. Therefore, we choose to cut out a rectangle that is similar 1 with its container, as shown in Figure 4.3. This choice prevents the L-shape from having skinny parts and, moreover, A(T \ {w 1 }) = A C A I. The other cases need some more careful analysis. We first look into requirements i) and iii). As shown in Figure 4.2(a), the L-shape has the same smallest circumscribed square as its container and its weight is w 1 times smaller. Hence, the aspect ratio of the L-shape is A C /w 1. This aspect ratio meets the target if 1 Congruent after uniform scaling w 1 A C /A T. (4.1)

20 Chapter 4. Rectilinear Tree Mapping w w h h 1 h h 1 (a) w 1 (b) w 1 Figure 4.3: Two examples of an L-shape with a remainder that is similar with its container. In either case w/h = w 1 /h 1. In Figure 4.2(b), the aspect ratio of the shaded rectangle is max ( w 1 A C, 1/(w 1 A C ) ). This aspect ratio meets the target if 1/(A C A T ) w 1 A T /A C. (4.2) We can visualize the constraints of Equations 4.1 and 4.2 as in Figure 4.4. This figure shows which layout can be used for a certain value of w 1. The order of the boundaries in this figure is justified by the known inequalities 1 A C A T. Since we also know that 0 < w 1 < 1, we can ignore the part for w 1 1. 1/(A C A T ) A C /A T A T /A C Rectangle can be used L-shape can be used 0 1 w 1 Figure 4.4: Values for w 1 that lead to a L-shape or rectangle whose aspect ratio is at most A T. From Figure 4.4 we can see that we can have a valid solution only if w 1 is at least 1/(A C A T ). We are looking at cases i) and iii), in which w 1 is high, so 1/(A C A T ) is exactly the threshold t we are looking for. We want the threshold to be independent of the aspect ratio of the container. Knowing that A C 1, we deduce the following requirement: t 1/A T. (4.3) We now add requirement iv) to our analysis. We must make sure that A(T \ {w 1 }) A I, that is, (1 w 1 ) A C A I and 1/((1 w 1 ) A C ) A I. The former is trivially true, since (1 w 1 ) < 1 and A C A I. The latter inequality is met if w 1 1 1/(A C A I ). (4.4) We thus have an extra bound on w 1 for case 2. This is visualized in Figure 4.5, distinguishing the position of 1 1/(A C A I ) compared to A C /A T. We would like to have a valid layout for

4.3. An upper bound on A T 21 1/(A C A T ) A C /A T Rectangle can be used L-shape can be used 0 1 1/(A C A I ) 1 w 1 (a) Case that 1 1/(A C A I) < A C/A T. Then, for some values of w 1 there exists no valid layout. 1/(A C A T ) A C /A T 0 1 1/(A C A I ) 1 w 1 (b) Case that 1 1/(A C A I) A C/A T. Then, there exists a valid layout for all w 1 t. Figure 4.5: The two possible positions of 1 1/(A C A I ). Case (b) is desired, as we want a valid layout for every value of w 1 t. all w 1 t. This corresponds to the situation shown in Figure 4.5(b). Therefore, we want A I and A T to be such that A C /A T 1 1/(A C A I ). The following lemma shows that if A I is reasonably large 2, we can formulate an inequality in A T and A I that can always fulfill the need stated above. Lemma 12 For A I (1 + 5)/2 and for all valid A C, it holds that A T A3 I implies A 2 I 1 A C /A T 1 1/(A C A I ). Proof. Rewriting A C /A T 1 1/(A C A I ), we obtain A 2 C A T A C + A T /A I 0. (4.5) This is a quadratic equation in A C. This function evaluates to zero at A C = A T A 2 T 4A T /A I 2 and A + C = A T + A 2 T 4A T /A I 2. 2 A I < 2 makes definitely no sense, since splitting a square into two rectangles always results in an aspect ratio of at least 2.

22 Chapter 4. Rectilinear Tree Mapping Hence we know that Inequality 4.5 is met in the interval [A C, A+ C ]. We want the inequality to be met for all allowed values of A C. Knowing that 1 A C A I, we want A T A 2 T 4A T /A I 2 1 and A T + A 2 T 4A T /A I 2 A I, which simplifies to A T It can be shown that, for A I (1 + 5)/2, A T A I A I 1 and A T A3 I A 2 I 1. A3 I A 2 I 1 A T A I A I 1, which concludes the proof. 4.3.2 First weight is low Finally, we take into account requirement v), in which case we know that each w i is less than the threshold value t. We partition T into two sets T 1 and T 2. From Section 4.1, it is known that these differ in size by at most a factor r t. By Lemma 5, we know that laying out two rectangles that differ at most a factor r t in size gives an aspect ratio of at most r t + 1. This aspect ratio must meet the invariant, so A I r t + 1. 4.3.3 Calculating the upper bound on A T Summarizing the inequalities we have seen so far, we know Combining Theorem 11 with Inequalities 4.7 and 4.8, we obtain: Observation 1 For 1/3 t 2/3, A T 27/8. t 1/A T (4.6) A T A 3 I/(A 2 I 1) (4.7) A I r t + 1 (4.8) We are looking for values for t and A I that make A T as small as possible. In order to improve the bound given in Observation 1, we know that t 8/27 must hold, according to Inequality 4.6. That is, the only chance of finding A T < 27/8 is for t [8/27, 1/3). Theorem 11 provides us with the missing link: the relation between r t and t. Although 8/27 is slightly less than 3/10, this does not lead to an optimal bound, so we ignore that part of the range for the remainder of the analysis. Therefore, we can use r t = 2t/(1 2t). (4.9)

4.3. An upper bound on A T 23 Combining Equations 4.7, 4.8 and 4.9, and rewriting Equation 4.6 gives two inequalities in A T and t, which must both be satisfied: A T 1/(8t 3 12t 2 + 4t) (4.10) A T 1/t (4.11) R T 3.3 3.2 3.1 R T 1 8t 3 12t 2 +4t X R T 1 t 0.31 0.32 0.33 t Figure 4.6: Visual representation of Inequalities 4.10 and 4.11. Point X marks the minimal value for A T where both inequalities are met. In Figure 4.6, the shaded regions show the values of A T and t for which each of the inequalities hold. In the intersection of these regions, the top wedge in the figure, both inequalities hold. Clearly, point X marks the minimal value of A T, where all constraints are met. We thus solve the equation 1/(8t 3 12t 2 + 4t) = 1/t and obtain: t = 3 3 4 A I = 1 + 3 A T = 2 + 2 3 3

24 Chapter 4. Rectilinear Tree Mapping The calculations in this section lead to the following theorem. Theorem 13 For every instance of rectilinear tree mapping we can give a layout of aspect ratio at most 2 + 2 3/3, by using the layout procedure of Section 4.2 with t = (3 3)/4. 4.4 Tightness In the previous section, we found an upper bound on the optimal target aspect ratio when allowing L-shapes. In this section, we give an example that shows that this upper bound is nearly tight. Consider a single-level tree T = {w 1, w 2, w 3, w 4 }, where w 1 = w 2 = w 3 = x for some x < 1/3. As a result, w 4 = 1 3x. We are particularly interested in the cases where x 1/3, that is, three regions are large and one is small. Then, we can make a few observations: If a region corresponding to any of the high weights touches two opposite sides of the container, its aspect ratio is 1/x. This follows directly from Definition 2, since the container is the smallest enclosing square. We only allow L-shapes whose remainder is a rectangle, as shown in Figure 4.7. Therefore, an L-shape always touches all sides of the container C it is in. Consider such a subcontainer C and let T be the set of weights that are not laid out in C. Then, T 2, since at least two weights are laid out in C. The entire container has four corners, so at least C or one of the weights in T touches two opposite sides of the container, by the pigeon hole principle. (a) Allowed layout with L-shape (b) Disallowed layouts with L-shapes Figure 4.7: We only allow L-shapes whose remainder is a rectangle and that form a rectangle together with this remainder. As a result of the previous two items, if we use an L-shape, at least one of the regions touches two opposite sides of the container and the aspect ratio is at least 1/x. Hence, the only way of getting an aspect ratio better than 1/x is by using a layout without L-shapes and with no rectangle touching two opposite sides of C. This layout is shown in Figure 4.8 and has aspect ratio (1 2x) 2 /(1 3x). In order to find a worst-case optimal solution, we want to maximize the minimum of 1/x and (1 2x) 2 /(1 3x). That is, no matter what layout is used, the aspect ratio is always high. We find this value by solving the equation 1 (1 2x)2 = x 1 3x,

4.4. Tightness 25 which, using the cubic formula, solves to x = 2 + 3 3 57 1 3 3 57 + 1. 6 In that case, A L = 6 2 + 3 3 57 1 3 3 57 + 1 3.13. For a comparison, the upper bound found in the previous section is A T = 2 + 2 3 3 3.15. 2x 1 2x w 1 w 3 x 1 2x w 2 w 4 1 3x 1 2x Figure 4.8: Only possible layout with four rectangles such that none touches two opposite sides of the container.

26 Chapter 4. Rectilinear Tree Mapping 4.5 Example To illustrate the algorithm described in this chapter, we now give a full example. Assume we are given a single-level tree T = {w 1 = 30 120, w 2 = 25 120, w 3 = 25 120, w 4 = 20 120, w 5 = 5 120, w 6 = 5 120, w 7 = 4 120, w 8 = 3 120, w 9 = 2 120, w 10 = 1 120 }. The maximal weight w 1 = 30/120 t, hence T is partitioned into two. Rescaling the total weight of both subsets to 1, we obtain T 1 ={w 1 = 30 60, w 4 = 20 60, w 5 = 5 60, w 7 = 4 60, w 10 = 1 60 }; T 2 ={w 2 = 25 60, w 3 = 25 60, w 6 = 5 60, w 8 = 3 60, w 9 = 2 60 }. We look into the layout of T 1. Now, w 1 = 30/60 > t, so we lay w 1 out first. The subcontainer has aspect ratio A C = 2 (see Figure 4.9) and 30/60 1 1/(2A I ), so we lay w 1 out as a rectangle. Rescaling again, we get T 3 = {w 4 = 20 30, w 5 = 5 30, w 7 = 4 30, w 10 = 1 30 }. In this subtree, w 4 = 20/30 > t, so we lay w 4 out first. The subcontainer has aspect ratio A C = 1 (see Figure 4.9) and 20/30 > 1 1/A I, so we lay w 4 out as an L-shape. The remaining weights are laid out as shown in Figure 4.9. The aspect ratio A L of the layout is determined by the region of w 10 (the shaded region). Therefore, A L = 5/2.

30 25 20 25 5 4 1 5 3 2 Figure 4.9: Rectilinear treemap example

Chapter 5 Convex Tree Mapping In Chapter 4, we investigated a method that results in rectilinear layouts with constant aspect ratio on any input. However, these layouts are typically not convex. Now, we consider the related case, where the layout is convex, but not necessarily rectilinear. Still, we want to restrict the number of possible edge directions. Therefore, we only allow axis-aligned and 45-degree edges. All shapes that can be used (modulo reflection and rotation over 90 degrees) are shown in Figure 5.1, together with their names. Rectangle Triangle Chisel Pentagon Figure 5.1: Convex shapes used in this chapter. The following problem is almost identical to rectilinear tree mapping, as defined in Chapter 4. Convex tree mapping. Given is a single-level tree T = {w 1, w 2,..., w n }. Give a layout L T such that aspect ratio A L is at most a constant A T and all regions L 1, L 2,..., L n of L T are rectangles, triangles, chisels or pentagons. 5.1 A recursive layout procedure The procedure of creating a convex layout is very similar to the procedure of creating a rectilinear layout, as described in Chapter 4. The pentagon plays the role of the L-shape. That is, the pentagon cannot be split recursively. The other three shapes can be split as shown in Figure 5.2. As in the rectilinear case, this table distinguishes two kinds of splits: The maximal weight is relatively high. Then, the corresponding region is laid out first and we recurse on the remainder of the container and the remainder of the weights. Contrary to the rectilinear approach, we assume that the threshold is high, such that only really high shapes are considered high. Therefore, this split is called big-small in Figure 5.2. 29

30 Chapter 5. Convex Tree Mapping The maximal weight is relatively low. Then, we partition the set of weights into two subsets of roughly the same total weight. The container is split into two according to these weights and each subset is laid out in its own part of the container. The splits used are called equal in Figure 5.2. Input Big-small split Equal split or or or Figure 5.2: All allowed ways of cutting a convex container. The big-small split is used when the maximal weight is high. The region corresponding to this weight is shaded. The equal split is used when all weights are low. Note that both splits look the same for triangles. Similar to the rectilinear approach of Section 4.2, we are aiming for a low target aspect ratio A T. However, different from the other approach we now do not insist on fixed invariant aspect ratios and big-small thresholds. Each of the three shapes of Figure 5.2, which are treated in recursion, may have its own invariant aspect ratio and threshold. 5.2 Properties of convex container splits Before we proceed on proving an upper bound on the aspect ratio of a convex layout on arbitrary input, we first study the various splits, as shown in Figure 5.2, in some more detail. 5.2.1 Rectangle The rectilinear rectangle splits are studied in previous chapters extensively already. The only new case here is the right big-small split, shown in Figure 5.2. This cut splits a rectangle in a (degenerate) pentagon and a triangle, which is recursed on. This triangle cannot be arbitrarily large. In Figure 5.3, the extreme case is shown. In this example, w 1 has the minimal weight for which the remaining part is still a triangle. This puts the following restriction on the use of this big-small split. h w 1 w Figure 5.3: Minimal area of w 1 that allows using the bigsmall split.

5.2. Properties of convex container splits 31 Lemma 14 The rectangle big-small split, as shown in Figure 5.2, splitting a rectangle into a triangle and a (degenerate) pentagon, is allowed if and only if w 1 2A C 1 2A C. Proof. See Figure 5.3. The white triangle can have area at most h 2 /2. Therefore, the gray region must have weight at least 1 h 2 /2. Using that A C = w/h and hw = 1, we have 1 h 2 /2 = 2w/h w/h h2 2w/h = 2A C 1 2A C. 5.2.2 Triangle The only triangles we consider in our layouts are right-angled and isosceles. In other words, all these triangles are exactly half a square. Hence, by Definition 2, all triangles have aspect ratio 2. The equal split shown in Figure 5.2 splits a triangle into a chisel and a smaller triangle. By the observation above, we do not need to worry about the aspect ratio of this triangle, so we are interested in the aspect ratio of the chisel only. We assume that, after T is partitioned into T 1 and T 2, T 1 is laid out in the chisel and T 2 in the triangle. We can then express the aspect ratio of the chisel in terms of the weight of T 1, as in the following lemma. Lemma 15 If a triangle is split into a chisel and a triangle, and subset T 1 is laid out in the chisel recursively, then this chisel has aspect ratio 2/w(T 1 ). Proof. As shown in Figure 5.4, the triangle and chisel share their smallest axis-aligned circumscribed square. As mentioned in Section 1.2, we always assume that the container has area 1, hence the square has area 2. Definition 2 then gives that the aspect ratio of the chisel is 2/w(T 1 ) directly. T 1 Figure 5.4: Triangle and chisel sharing their circumscribed square. 5.2.3 Chisel The chisel basically is the union of a rectangle and a triangle. In Figure 5.5 a chisel is shown, together with the dimensions of its smallest enclosing rectangle. Note that, for any chisel it holds that w > h, since the beveled side makes a 45 degree angle. Since the chisel is more complex than the rectangle and the triangle, it is often convenient to do our calculations on the aspect ratio of the smallest enclosing rectangle, rather than on the aspect ratio of the chisel itself. We use A R to denote the aspect ratio of this rectangle and express the chisel s aspect ratio in A R. Lemma 16 Consider a chisel whose smallest enclosing rectangle has aspect ratio A R. Then, the chisel has aspect ratio 2A 2 R /(2A R 1)

32 Chapter 5. Convex Tree Mapping Proof. See Figure 5.5. The longest side of the rectangle has length w, hence the smallest axis-aligned circumscribed square has area w 2. The chisel itself actually is a rectangle of area hw, with a missing triangular piece of area h 2 /2, hence it has area hw h 2 /2. By Definition 2, we get the following aspect ratio. h w Figure 5.5: A R = w/h A chisel = w 2 hw h 2 /2 = 2w 2 /h 2 2hw/h 2 h 2 /h 2 = 2A2 R 2A R 1 The chisel allows for three different types of cuts, as shown in Figure 5.2. However, for the moment, we only distinguish two types of cuts, based on their direction. Short cuts, as shown in Figure 5.6(a), cut the long side of the chisel. (As we identified above, w > h for any chisel.) The cut induces two subcontainers. The one on the beveled side of the chisel we call the tip and the other subcontainer we call the base. As shown in Figure 5.6(a), the tip is either a triangle or a chisel and the base is either a pentagon or a rectangle. Long cuts, as shown in Figure 5.6(b), cut the short side of the chisel. The cut induces two subcontainers, one clearly being longer than the other. Therefore, the one is called the long subcontainer, whereas the other is called the short subcontainer. h h tip base tip base h short long w (a) Short cuts cut the long side of the chisel (w > h). The resulting subcontainers are called tip and base. w w (b) Long cuts cut the short side of the chisel. The resulting subcontainers are called short and long. Figure 5.6: Classification of chisel cuts, based on their direction We discuss both cuts separately. Short cuts Short cuts have a nice property, which is similar to what we saw about cutting triangles before. One side of the cut always has a good aspect ratio, regardless of the position of the cut. Lemma 17 Given is a chisel container C, whose smallest enclosing rectangle has aspect ratio A R. For any short cut of C, we have A tip A C. Proof. We distinguish two cases, as shown in Figure 5.6(a). If the tip is a triangle, then A tip = 2. By Lemma 16 (and knowing that A R 1), we can easily verify that A C 2, hence A tip A C.

5.2. Properties of convex container splits 33 If the tip is a chisel, we need to show that a chisel C 1 has lower aspect ratio than a chisel C 2 if and only if the smallest enclosing rectangle of C 1 has lower aspect ratio than that of C 2. That is, for A chisel (A R ) = 2A2 R 2A R 1 we need to show for all A R 1 and δ 0. Thus we calculate A chisel (A R + δ) A chisel (A R ) 2(A R + δ) 2 2(A R + δ) 1 = 2A2 R 2A R 1 2(2A R 1)(A R + δ) 2 4A 3 R + 4A2 R δ 2A2 R ( 2A 3 R + 2A 2 R δ A2 R = 2A2 R 2A R 1 = 2A2 R 2A R 1 2A2 R 2A R 1. 2A 3 R + 2A2 R δ + 2A2 R δ + 2A Rδ 2 2A R δ δ 2 ) A2 R 2A 3 R + 2A2 R δ A2 R ( 1 + δ 2A ) R(A R 1) + δ(2a R 1) A 2 R (2A R 1) + 2A 2 R δ It is easily seen that the smallest enclosing rectangle of the tip has aspect ratio at most A R, which completes the proof. Along the way, we have proved a nice property of the aspect ratio of chisels. Corollary 18 The aspect ratio of a chisel C 1 is lower than the aspect ratio of a chisel C 2 if and only if the smallest enclosing rectangle of C 1 has lower aspect ratio than that of C 2. For the base, we can only prove a slightly weaker result. For that part, the aspect ratio can be worse than A C, but in that case, it can be described by a simple expression. We write w(base) for the total weight of the set of weights that is to be laid out in the base. Lemma 19 Given is a chisel container C, whose smallest ( enclosing rectangle has aspect ratio A R. For any short cut of C, we have A base max w(base) A C, 2/ ( w(base) (2A R 1) )). Proof. First, suppose that the width of the base is at least its height. As shown in Figure 5.6(a), the base is either a rectangle or a pentagon. Figure 5.7 shows a rectangle, pentagon and chisel of the same height and width. Since the areas are subsets/supersets of each other, Definition 2 gives the following relationship A rectangle < A pentagon < A chisel. We assume that the smallest enclosing rectangle of C has height h and width w, hence A R = w/h. For the width w base of Figure 5.7: Nested chisel, pentagon and rectangle. the base, we know that w base < w w(base), since most of chisel s area is in the base part. Consider a chisel D of height h and width w base. By the observation above, we know that

34 Chapter 5. Convex Tree Mapping A base < A D. Let A R be the aspect ratio of the smallest enclosing rectangle of the base, hence A R = w base /h. Then we have A base < A D = 2A2 R 2A R 1 < 2A2 R w(base)2 2A R w(base) 1 = 2A2 R 2A R 1 2A R w(base) w(base) w(base) 2A R w(base) 1 < 2A2 R 2A R 1 w(base) = w(base) A C. Now, let the width of the base be less than its height. Then, the smallest axis-aligned square of the base has area h 2. By the assumption in Section 1.2, the area of C is 1 (that is, hw h 2 /2 = 1). Together with Definition 2, we have A base = h 2 w(base) (hw h 2 /2) = 2h 2 /h 2 w(base) (2hw/h 2 h 2 /h 2 ) = 2 w(base) (2A R 1). Long cuts For long cuts, the aspect ratio of the long part, as shown in Figure 5.6(b), is easily expressed. Lemma 20 Given is a chisel container C. For the long part induced by a long cut of C, we have A long = A C /w(long). Proof. Obviously, C and the long part share their smallest axis-aligned circumscribed square. Therefore, A long w(long) = A C w(c). By the assumption in Section 1.2, we know w(c) = 1. Hence, A long = A C /w(long). Unfortunately, the aspect ratio of the short part is much harder to express directly. Therefore, we investigate the aspect ratio of the short part relative to the long part. For this, we first look at the vertical position of the cut, depending on the size of the long part. Lemma 21 Given is a chisel container C, whose smallest enclosing rectangle has aspect ratio A R. Consider a long cut of C. We use x to denote the height of the long part relative to the height of C, as shown in Figure 5.8. Then, x = A R A 2 R w(long) (2A R 1).

5.2. Properties of convex container splits 35 Proof. We can express the area of the long part in its height and width, using that area(c) = hw h 2 /2 = 1: w(long) = hwx x 2 h 2 /2 = hwx x2 h 2 /2 hw h 2 /2 = 2hwx/h2 x 2 h 2 /h 2 2hw/h 2 h 2 /h 2 = 2xA R x 2 2A R 1. This is a quadratic equation in x, which solves to x = A R ± A 2 R + w(long) (2A R 1). h w short long Figure 5.8: Height of the long part. We have x = y/h. y We need 0 x 1. Knowing that A R > 1, we obtain the expression as claimed. From Corollary 18, it follows that A long decreases with increasing x, whereas A short increases. If we can find the position x equal for the long cut where A long = A short, then A long A short, for all x x equal. If and only if we cut C at x equal, the long and short part are similar 1. The position of this similarity cut is given in the following lemma. Lemma 22 Given is a chisel container C, whose smallest enclosing rectangle has aspect ratio A R. Consider the long cut of C at x equal (where x equal is the height of long part relative to the height of C), such that the long and short part are similar. For this position, we have x equal = A R A R (A R 1). Proof. See Figure 5.9. The long and short part are similar, if and only if AD/AE = EF/BE. Rephrasing, in terms of h, w and x equal, we need w/(hx equal ) = (w hx equal )/(h hx equal ). This is a quadratic equation in x equal which solves to x equal = A R ± A R (A R 1). Again, A R > 1 and we need 0 x equal 1. This leads to the equality stated. h D F w C short long Figure 5.9: Cut that makes the long and short part similar. Here, x equal = y equal /w. Combining Lemmas 21 and 22, we can calculate the value for w(long) that makes the long and short part similar. This gives rise to the following interesting lemma. Lemma 23 Let C be a chisel container, whose smallest enclosing rectangle has aspect ratio A R. Consider a long cut of C. Then, A long A short if and only if w(long) A R /(2A R 1). Proof. Using the results of Lemmas 21 and 22, we know that A long A short if and only if A R A 2 R w(long) (2A R 1) A R A R (A R 1). B E A y equal This inequality easily solves to the expression given. 1 Congruent after uniform scaling

36 Chapter 5. Convex Tree Mapping 5.3 Algorithm for convex tree mapping The previous section provides us with the tools necessary to prove an upper bound on the worst case aspect ratio for convex layouts. The results are not as tight as in the rectilinear case (Section 4.3), since the expressions that arise in this approach are more complicated. Therefore, we use more upper and lower bounds, which make the proven aspect ratio much less tight. We cannot use a sophisticated method like in Section 4.3 to find an optimal value for the threshold and aspect ratio invariant. Therefore, we simply suggest these and then show that we can prove a desired target aspect ratio. Throughout this section, we aim for a target aspect ratio of 9/2. We will show this bound for each of the cases distinguished in Figure 5.2. In each case, we use the threshold t = 2/3. That is, a weight is considered high if it is at least 2/3 of the total weight. Moreover, we have two different aspect ratio invariants. For rectangles, A Ir = 3 and for chisels A Ic = 9/2. Each triangle has aspect ratio 2, so we need no invariant for that case. First, we formulate the recursive procedure as pseudo-code, for easier reference when proving the desired target aspect ratio (see Algorithm 2). 5.3.1 Analysis Now, we analyse Algorithm 2 in order to show that each case meets the aspect ratio requirements. The base case is simple. Since all our invariant aspect ratios are at most the target aspect ratio, the target is met for rectangles, triangles and chisels. A pentagon can be formed in a big-small split of a rectangle and when short-cutting a chisel only. We will show that this pentagon meets the target aspect ratio as well once we discuss these splits. The induction step involves the three different cases as distinguished in Algorithm 2. We discuss each of these separately, below. In each of the cases, we partition T into two subsets and lay them out in a corresponding part of the container. By the induction hypothesis, we may assume that these layouts meet the target aspect ratio, provided that we meet the invariants first. The layout L T is then simply the combination of these layouts. Rectangle The rectangle is similar to the rectilinear approach. It does not matter for the aspect ratio whether a rectangle is cut out of a rectangle (yielding an L-shape) or a triangle (yielding a pentagon), as long of the area of the piece that is cut out is the same. Therefore, we can reuse the method from Section 4.3. Substituting the values for t and A Ir, it can be shown easily that the target aspect ratio is met. All we need to make sure is that cutting the container into a pentagon and a triangle is allowed, according to Lemma 14. This is the case if 1 1 3A C 2A C 1 2A C. This inequality can straightforwardly be shown to hold.

5.3. Algorithm for convex tree mapping 37 Algorithm 2: Recursive Convex Layout Scheme input : A single-level tree T = {w 1, w 2,..., w n } such that w i w i+1. A container C of aspect ratio A C output: A convex layout L T if T = {w 1 } then return Layout consisting of one region L 1 else switch Shape of C do case Rectangle if w 1 > 2/3 then Let T 1 = {w 1 } and T 2 = T \ {w 1 }. if w 1 1 A C /3 then Cut C into two rectangle containers C 1 and C 2, with areas w(t 1 ) and w(t 2 ). else Cut C into a (degenerate) pentagon container C 1 and a triangle container C 2, with areas w(t 1 ) and w(t 2 ). else Partition T into two subsets T 1 and T 2, such that 1/2 w(t 1 ) 2/3. Cut C into two rectangle containers C 1 and C 2, with areas w(t 1 ) and w(t 2 ). case Triangle Partition T into two subsets T 1 and T 2, such that w(t 1 ) 1/2. Cut C into a chisel container C 1 and a triangle container C 2, with areas w(t 1 ) and w(t 2 ). case Chisel if w 1 > 2/3 then Let T 1 = {w 1 } and T 2 = T \ {w 1 }. Cut C into a rectangle (pentagon) container C 1 and a chisel (triangle) container, with areas w(t 1 ) and w(t 2 ). else Partition T into two subsets T 1 and T 2, such that 1/2 w(t 1 ) 2/3. if A C 9/4 then Cut C by a short cut into chisel container C 1 and rectangle container C 2, with areas w(t 1 ) and w(t 2 ). else Cut C by a long cut into chisel containers C 1 and C 2, with areas w(t 1 ) and w(t 2 ). Lay T 1 out in C 1 and T 2 in C 2, recursively. return Combined layout of C 1 and C 2

38 Chapter 5. Convex Tree Mapping Triangle When the container is a triangle, we can always use the same approach. Any partition of T is sufficient to meet the invariants, so we can simply split T into two. Obviously, at least one of the subsets has weight at least 1/2, which we then call T 1. Every triangle has aspect ratio 2, hence triangle part always meets the target aspect ratio. For the chisel, we need its aspect ratio to be at most 9/2. By Lemma 15, this aspect ratio is A chisel = 2/w(T 1 ) 4 < 9/2. Chisel When cutting a chisel container, we need to consider three cases. Case 1: First weight is high. If the first weight is high, we use a short cut and lay w 1 out in the base. The tip is either a triangle (whose aspect ratio is always good) or a chisel, having aspect ratio at most A C, due to Lemma 17. The base must have aspect ratio at most 9/2. According to Lemma 19, its aspect ratio is ( ) ( ) 2 2 A base max w 1 A C, < max w 1 A C, 9/2. w 1 (2A R 1) 2/3 Here we used that for a chisel A R > 1. If all weights are low, we need to distinguish two cases. If A C is large, we cannot use a long cut, as this results in two even more elongated containers. On the other hand, if A C is small, we cannot use a short cut, since we would end up with a triangle and a pentagon subcontainer in that case, and we do not want to recurse on pentagons. Case 2: First weight is low and we use a short cut. The tip meets the invariant aspect ratio, by Corollary 18. The base must both be shown to be rectangular and to meet A Ir. We know that 1/3 w(t 2 ) 1/2, hence the base is always rectangular if the beveled part of the chisel is at most 1/2 of its total area. The extreme case is depicted in Figure 5.10, where the top and bottom of the chisel have exactly the same area. From this figure, we deduce that the base is always a rectangle if A C 9/4 (by simply counting squares). By Lemma 16, we know A C 9/4 if and only if A R 3/2. In order to show that the rectangle meets the invariant, we show w(t 2 ) A C A C /2 9/4 < A Ir Figure 5.10: Extreme case that rectangle area is at least triangle area. and 2 w(t 2 ) (2A R 1) 2 1/3 (2 3/2 1) = 3 A I r. Case 3: First weight is low and we use a long cut. part meets the invariant, using Lemma 20: A long = A C w(t 1 ) 9/4 1/2 = 9/2 We first show that the long

5.4. Example 39 If we can show that A long A short, we know that the short part meets the invariant as well. Here, we use that A C < 9/4, which implies A R < 3/2 by Lemma 16. ( ) A R 2A R 1 = 1/2 2AR 1 2A R 1 + 1 2A R 1 ( ) 1 > 1/2 1 + 2 3/2 1 = 3/4 w(long). Hence, A long A short by Lemma 23, and A short A C. By the analysis of Algorithm 2, we have shown that we can always give a convex layout with constant aspect ratio. This is summarized in the following theorem. Theorem 24 For every instance of convex tree mapping, we can give a layout of aspect ratio at most 9/2, by using Algorithm 2. 5.4 Example As for rectilinear tree mapping, we now give a full example to illustrate convex tree mapping. Assume we are given a single-level tree T = {w 1 = 140 180, w 2 = 15 180, w 3 = 5 180, w 4 = 5 180, w 5 = 5 180, w 6 = 5 180, w 7 = 3 180, w 8 = 2 180 }. The maximal weight w 1 = 140/180 > t, hence w 1 is laid out first. The container is a rectangle and w 1 > 1 A C /3, so w 1 is laid out as a pentagon. Rescaling the remaining weights, we have T = {w 2 = 15 40, w 3 = 5 40, w 4 = 5 40, w 5 = 5 40, w 6 = 5 40, w 7 = 3 40, w 8 = 2 40 }. The container is a triangle so we split T into two, such that w(t 1 ) is at least w(t 2 ): T 1 ={w 2 = 15 20, w 3 = 5 20 }; T 2 ={w 4 = 5 20, w 5 = 5 20, w 6 = 5 20, w 7 = 3 20, w 8 = 2 20 }. We look into the layout of T 1. Now, w 2 = 15/20 > t and the container is a chisel, so we lay w 2 out first. The remaining weights are laid out as shown in Figure 5.11. The aspect ratio A L of the layout is determined by the region of w 6 (the shaded region). Therefore, A L = 4.

140 5 5 15 2 3 5 5 Figure 5.11: Convex treemap example

Chapter 6 Conclusion In this thesis we have proposed several variations to the well-known treemap visualization, in order to guarantee layouts with constant aspect ratio. We have restricted ourselves to trees of depth one. We have shown that tree mapping - give the aspect-ratio-minimal layout, using rectangles only - is strongly NP-complete, in Chapter 2. However, even if we could solve this problem in polynomial time, we have shown that the optimal layout can still have arbitrarily large aspect ratio. From a visualization perspective, we prefer layouts with aspect ratios of a small constant. Therefore, we studied three other problems. By restricting the maximal difference between the highest and lowest weight in the input, we obtained the problem range tree mapping, which we studied in Chapter 3. If we assume that the highest and lowest weight differ by at most a factor k, we have proved that we can give a layout of aspect ratio at most k + 1, by repetitively splitting the set of weights into two subsets that differ in weight by at most a factor k. Clearly, if we want to guarantee a layout of aspect ratio at most a low constant, say 4, using this method, we must make sure that the highest weight is at most 3 times larger than the lowest. The other two problems we studied, rectilinear tree mapping in Chapter 4 and convex tree mapping in Chapter 5, allow for regions other than rectangles: L-shapes, and triangles, chisels and pentagons, respectively. Using these extra shapes, we can give layouts whose aspect ratio is provably low, for any set of shapes as input. For convex tree mapping, we can prove an upper bound on the aspect ratio of the layout of 9/2. This is a small constant, even though it is probably not tight, due to some loose upper and lower bounds used in the analysis. For rectilinear tree mapping, we can always give a layout of aspect ratio at most 2 + 2 3/3, which is approximately 3.15. We have shown that this upper bound is nearly tight, by giving an example that has an aspect ratio of approximately 3.13. 6.1 Open problems We have limited our research to input trees of height one. A logical generalization of our work is to investigate how our methods generalize to complete trees. 41

42 Chapter 6. Conclusion Range tree mapping is not too suitable for extension to full trees. The method would require that the weights of the children of any node are at most a factor k apart. This seems to put too big a restriction on the input trees allowed. For convex layouts, De Berg et al. prove that it is impossible to guarantee a constant aspect ratio for every input tree [4]. In their paper, they give an algorithm that, for a tree of depth d and with n leafs, gives a layout with aspect ratio O(d + log n). However, we think we can do better. For a generalized algorithm, we think we must introduce extra directions in each level of the tree, if needed, rather than restricting the edge directions to axis-aligned and 45 degrees, as in our algorithm for convex tree mapping. This will probably cause the aspect ratio to increase slightly in each level of the tree. Therefore, we hope that for an input tree of depth d, it is always possible to give a layout of aspect ratio O(d). If we want to generalize our method for rectilinear tree mapping to trees, we must likely recurse on L-shapes as well. If one of the shapes that must be laid out in an L-shape is much larger than the others, there is no way of getting a layout with good aspect ratio by using rectangles and L-shapes only. However, we hope that, by introducing an ortho-convex generalization of an L-shape, it is possible to obtain layouts with constant aspect ratio, for any input tree. However, just as with the analysis of Algorithm 2, we probably cannot prove a very tight bound on the aspect ratio, due to the complexity of the formulas that arise in this method.

References [1] M. Balzer and O. Deussen. Voronoi treemaps. In Proc. IEEE Symposium on Information Visualization, pages 7 14, 2005. [2] M. Balzer, O. Deussen, and C. Lewerentz. Voronoi treemaps for the visualization of software metrics. In Proc. ACM Symposium on Software Visualization, pages 165 172, 2005. [3] B. B. Bederson, B. Shneiderman, and M. Wattenberg. Ordered and quantum treemaps: Making effective use of 2d space to display hierarchies. ACM Transactions on Graphics, 21(4):833 854, 2002. [4] M. de Berg, K. Onak, and A. Sidiropoulos. Fat polygonal partitions with applications to visualization and embeddings. Not yet published. [5] M. Bruls, K. Huizing, and J.J. van Wijk. Squarified treemaps. In Proc. Joint Eurographics and IEEE TCVG Symposium on Visualization, pages 33 42. Springer, 2000. [6] W. S. Cleveland. The elements of graphing data. Hobart Press, 1985. [7] M. R. Garey and D. S. Johnson. Computers and Intractability: a Guide to the Theory of NP-Completeness. W. H. Freeman & Co Ltd, 1979. [8] L. Jin and D. C. Banks. Tennisviewer: A browser for competition trees. IEEE Computer Graphics and Applications, 17(4):63 65, 1997. [9] W.A. Jungmeister and D. Turo. Adapting treemaps to stock portfolio visualization. Technical report UMCP-CSD CS-TR-2996, University of Maryland, 1992. [10] J. Y-T. Leung, T. W. Tam, C.S. Wong, G. H. Young, and F. Y. L. Chin. Packing squares into a square. Journal of Parallel and Distributed Computing, 10:271 275, 1990. [11] K. Onak and A. Sidiropoulos. Circular partitions with applications to visualization and embeddings. In Proc. 24th Symposium on Computational Geometry, pages 28 37, 2008. [12] B. Shneiderman. Treemaps for space-constrained visualization of hierarchies. http://www.cs.umd.edu/hcil/treemap-history/index.shtml. [13] B. Shneiderman. Tree visualization with tree-maps: 2-d space-filling approach. ACM Transactions on Graphics, 11(1):92 99, 1992. [14] R. Vliegen, J. J. van Wijk, and E.-J. van der Linden. Visualizing business data with generalized treemaps. IEEE Transactions on Visualization and Computer Graphics, 12(5):789 796, 2006. 43

44 Chapter 6. Conclusion [15] M. Wattenberg. A note on space-filling visualizations and space-filling curves. In Proc. IEEE Symposium on Information Visualization, pages 181 185, 2005. [16] J. J. van Wijk and H. van de Wetering. Cushion treemaps: Visualization of hierarchical information. In Proc. IEEE Symposium on Information Visualization, pages 73 78, 1999. [17] J. Wood and J. Dykes. Spatially ordered treemaps. IEEE Transactions on Visualization and Computer Graphics, 14(6), 2008.