1 Introduction
A useful paradigm for drawing graphs involves visualizing them as maps or road networks, allowing a visualizer to “zoom” in and out of the graph based on known techniques that apply to maps. For example, Gansner et al. [10] describe a GMap system for visualizing clusters in graphs as countries with nearby clusters drawn as neighboring countries. In addition, Nachmanson et al. [18, 19] describe a GraphMaps system for visualizing graphs as embedded road networks, so as to leverage the drawing and zooming capabilities of a roadmap viewer to explore the graph. Thus, a natural question arises as to which graphs are amenable to being drawn as road networks.
To answer this question, we formulate a precise definition of what we mean by a graph that could be drawn as a road network. One might at first suggest that graph planarity would be a good choice for such a formalism. But the class of planar graphs includes several graph instances that are difficult to visualize as road networks, such as the socalled “nested triangles” graph (e.g., see [6, 9, 12]). In addition, as shown by Eppstein and Goodrich [7], the class of planar graphs is not general enough to include all realworld road networks, as road networks are often not planar. For example, the California highway system alone has over 6,000 crossings. Instead of using planarity, then, Eppstein and Goodrich [7] introduce the concept of the ply number of an embedded graph, and they demonstrate experimentally that realworld road networks tend to have small ply. Intuitively, the ply concept tries to capture how road networks have features that are wellseparated at multiple scales. The formal definition of the ply number of a graph is derived from the definition of ply for a set of disks (which captures the depth of coverage for such a set of disks) [17]; hence, the ply number of an embedded graph is defined in terms of the ply of a set of disks defined with respect to this embedding.
Let us therefore formally define the ply number of an embedded geometric graph. Let be a straightline drawing of a graph . For every vertex , let be the open disk centered at and whose radius is times the length of the longest edge incident to . The set of ply disks containing a point is then . The ply number of this drawing is defined as
Usually, is chosen in the range . In this range, a graph with two vertices and a single edge connecting them has ply number 1, because the ply disks for the two vertices will not overlap.
There are two natural optimization problems for the ply number when constructing a drawing of a given graph. One is to is to fix a constant ply number, and try to find a drawing that maximizes the value of . The other is to fix a value for , typically , and try to find a drawing that minimizes the ply number. In this paper, we provide new results for both of these cases.
1.1 Previous related work
As an empirical justification of the use of ply numbers, De Luca et al.’s experimental study [4] found that some forcedirected algorithms, including KamadaKawai [16], stress majorization [11], and the fast multipole method [13] all tend to produce drawings with low ply number. Their experiments also suggest that even trees with at most three children per node can have unbounded ply number when .
The problem of drawing graphs with ply number equal to 1 is related to that of constructing circlecontact representations. A circlecontact representation for a graph is a collection of interiordisjoint circles, in which each circle represents a single vertex, and two vertices are adjacent if and only if their circles are tangent to one another [14, 15]. Di Giacomo et al. [5] show that graphs with ply number 1 are equivalent to graphs with weak unit disk contact representations, which are known to be NPhard to recognize [3]. They also show that binary trees have drawings with ply number 2 when , or with ply number 1 when . Their drawing is reproduced in Figure 1.
Angelini et al. [2] relax our definition of ply number to define the vertexply of a drawing, which is the maximum number of intersecting disks at any vertex of the drawing. Graphs with vertexply number 1 can then be interpreted as a new variant of proximity drawings.
In an earlier paper, Angelini et al. [1] show that 10ary trees have unbounded ply number. Furthermore, they prove that 5ary trees can be drawn with logarithmic ply number and polynomial area. The ply number of drawings of trees with between three and nine children per node remains an interesting and surprisingly daunting open problem.
1.2 Our results
In this paper, we study a number of related problems concerning lowply drawings of boundeddegree trees. We first answer an open question proposed by Di Giacomo et al. [5], which asks whether all trees with maximum degree have 1ply drawings for a sufficiently small . We show in Section 2 that a simple fractal drawing pattern can achieve this when .
In Section 3, we show that all trees (not just 5ary trees) can be drawn with logarithmic ply number, for . Furthermore, the area is polynomial for trees with bounded degree. These results depend on some careful arguments about geometric configurations and fractallike geometric constructions, as well as yet another use of the heavypath decomposition technique of Sleator and Tarjan [20].
It is then natural to consider whether any planar graph classes larger than trees can be drawn with logarithmic ply number. In Section 4, we show that this is not the case for trees, by constructing a family of trees that require a ply number of for any fixed . Previous lower bounds have only applied for planar drawings, while nonplanar drawings are known to sometimes have better ply number.
2 1ply Drawings
In this section, we fix our drawings to have ply number 1, and provide conditions on such that we can construct drawings of trees of any bounded degree. At a high level, our drawings are constructed as follows. For a tree with maximum degree , we divide the area around each parent vertex radially into equal wedges, so that all of the angles are . Then we assign each subtree to a different wedge, and draw it within that wedge. The distance from each node to its children is chosen to be a constant fraction of its distance from its own parent. When , this produces the drawing shown in Figure 1. Note that for a nonroot vertex, one of the wedges will contain the edge from the parent vertex, and will not contain a subtree.
This produces a drawing that is highly symmetric, in a fashion that would produce a fractal if continued in the limit.^{1}^{1}1See Falconer [8] for further reading about fractal geometry. Thus, any boundeddegree tree is a subtree of this infinite tree; hence, this drawing algorithm can produce a drawing of any boundeddegree tree. Filling in the details of this construction requires setting the values of two parameters: , the ratio between outgoing and incoming edge lengths; and , the ratio between the radius of a ply disk for a vertex and the length of its longest incident edge. We provide constraints for the following three cases, which taken together ensure that there are no overlaps, so that the ply number of our drawings is 1. We then maximize such that all of these constraints are satisfied.

Ply disks for adjacent vertices must not overlap.

Ply disks for vertices in separate subtrees must not overlap.

A ply disk for a vertex must never overlap a ply disk for one of its descendants.
It is easily verified that these three conditions are necessary and sufficient for a tree to have a 1ply drawing.
2.1 Condition 1: Separate adjacent vertices
Except for the root vertex, which has no incoming edge, we proportion the lengths of the edges for each vertex as shown in Figure 2.
That is, taking the length of the reference edge as 1 (illustrated in Figure 2 going from parent to child in a lefttoright orientation), then, based on our definition of the ply number, the radius of the larger circle is , the radius of the smaller circle is , and their distance is 1. Thus, we have our first condition relating and .
2.2 Condition 2: Separate subtrees with the same root
We require that the ply disks for any subtree all be contained within a wedge of angle around its parent vertex, where is the degree. Since our wedges for each subtree are disjoint, this ensures that the ply disks for two adjacent subtrees cannot overlap.
As illustrated in Figure 3, the distance from a child vertex to the boundary of its containing wedge is . Note also that the lengths of edges along a path in this subtree form a geometric sequence with ratio . So the maximum distance from a child vertex to any vertex in its subtree is .
Therefore, to confine each subtree within its wedge, we must set
Solving for , we get
(1) 
2.3 Condition 3: Separate each vertex from its descendants
Our last condition is that the ply disk for a vertex cannot overlap any of its descendants. The closest descendants will be those in the wedges on either side of the edge between their parent and grandparent, which are at an angle of from their parent, as in Figure 4.
Once again we normalize , as having length 1. We then perform a rigid transformation that takes the grandparent, , to the origin so that the edge is along the axis, ’s closest grandchild, which we call , is located at the point . We require that the distance from to its descendants be no greater than the distance from to the boundary of the ply disk for . Recall that our wedge angle . We apply the following constraint:
After simplifying and solving for , our condition is
Let us now compare our three conditions. We see that equation 2 gives us an upper bound for , while equations 1 and 3 give us upper bounds for that both increase as gets larger. So to maximize , we let be equal to its upper bound. This gives us the following theorem.
Theorem 1.
Let be a tree with maximum degree , and let
has a 1ply drawing if
Corollary 1.
A tree with maximum degree has a 1 ply drawing when .
Proof.
First, recall that we defined:
Now we will consider the limiting value of .
Therefore, . So as , .
Secondly, recall that in our theorem we showed:
Suppose that we use the first condition, . Then . So .
Then suppose that we use the second condition:
Again, , so ∎
Note, however, that some of our conditions are not tight. For condition 2, we assumed that the branches of our subtrees would approach the sides of their wedge directly. But when the degree of our tree is 4, the angle between two subtrees is . Therefore, every edge in our tree is either horizontal or vertical, so we can measure the distance to the boundary of the wedge using Manhattan distance instead of Euclidean distance. (See Figure 5.)
So for a tree with degree 4, we replace condition 2 with the following equation:
This implies , and our other conditions imply . In this case, our bound is tight. (See Figure 6.)
3 Polynomial area, logarithmic ply number
In this section, we prove the following theorem.
Theorem 2.
For , a tree with maximum degree can be drawn with ply number in area .
Note that for a boundeddegree tree, is a constant, so our area is polynomial in . We first give a simple fractal layering algorithm that proves our theorem for balanced trees. Then we extend it to all trees by using a heavy path decomposition. A similar approach was used by Angelini et. al. [1] for drawing trees up to maximum degree six, but we add our layering technique to make their algorithm work for all trees.
3.1 Radially layered drawings
We begin with a simple algorithm for drawing trees by layering their children. For each vertex, we choose a sequence of distances for the layers, such that vertices in adjacent layers have disjoint ply disks.
Lemma 1.
Suppose that is the root of a star graph. Let be children at distances , respectively. If , then the ply disks for and are disjoint.
Proof.
The distance to is , so since , its ply disk will have radius , and will be contained within an open disk of radius centered at . The distance to is , so its ply disk will have radius . Its closest approach to will be at distance . Thus, the ply disks for and are disjoint. (See Figure 7.) ∎
Next, note that we can put up to six vertices in each layer without overlaps. So for a tree with degree , we need layers. We pick any desired size for the initial layer around our root, then draw the subtrees for each child vertex recursively within their own ply disks. Therefore, the size of the smallest layer must shrink by a factor of each time we add a level to our tree.
Since our tree is balanced, its total height is . Thus the ratio of the longest to the smallest edge is . The area will then also be , for a larger constant.
This completes our proof for balanced trees. Figure 8 provides an example drawing of such a tree with degree 18 using three layers.
3.2 Heavy path decomposition
When our trees are not balanced, we will use the heavy path decomposition [20] to still produce drawings with logarithmic ply number. This decomposition partitions the vertices in our tree into paths that each end at a leaf. To choose the first path, we begin at the root. Then from its child subtrees, we choose the largest one and add its root to our path. We continue downward until we reach a leaf.
We next remove the vertices on this path from our tree, creating a new set of subtrees, and repeat the same process for each subtree. That is, the root vertex for each of these subtrees will become the starting point for a new path constructed by the same process. We recurse until every vertex in our tree is assigned to some path. The subtrees that are rooted at a child of a vertex and whose root is not on the same path as are are said to be anchored at . The path containing the root of each of those subtrees is also said to be anchored at .
The set of paths constructed by this process now itself forms a new tree (see Figure 9), in which the path is a parent of if one of the vertices in is an anchor for . We will show that the ply number of our drawings is proportional to the height of this decomposition tree, which is known to be .
Now we describe how to draw each path in the decomposition tree. First, we define a 2drawing of a path as a straightline drawing of along a single segment that satisfies the following properties.

All of the vertices appear in the line segment in the same order as they appear in .

For each we have .
Lemma 2.
A 2drawing of a path has ply number at most 2.
Proof.
See Lemma 5 in Angelini et al. [1]. ∎
Now suppose that we have a path in our heavy path decomposition, and let be anchored at vertex , so that is the parent of . Let be the total size of the subtrees anchored at , and let be the total size of the subtrees anchored at (Figure 10). Lastly, we denote the length of the edge as .
Intuitively, we want to draw each path so that more space is available for vertices that have larger subtrees. At the same time, we want to ensure that the lengths of the two edges for a vertex are within a factor of two, so that our path is a 2drawing. This can be achieved using the following algorithm DrawPath.
To draw the path , we first set and , for each . Next we visit the edges of our path in decreasing order of length. When an edge is visited, we make sure that both of its neighboring edges are at least half as long. That is, we set:
Lemma 3.
The algorithm DrawPath constructs a 2drawing of such that , , and for each , and .
Proof.
See Lemma 6 in Angelini et al. [1]. ∎
We now perform a bottomup construction of our tree, drawing each path using the DrawPath algorithm. Once all of the paths anchored at vertices in have been drawn, we construct a drawing of with each path in a separate layer (Figure 11). This translation may increase the ply radius of the first vertex in each of these paths, so the ply number of the drawing for each path may increase from 2 to 3.
In the appendix, we prove the following properties of this drawing.
lemmadrawinglemma For each vertex we can associate a drawing disk (which is distinct from the ply disk for ) that satisfies the following properties.

If are two distinct vertices on the same path, then their disks are disjoint.

The ply disks for the subtrees anchored at are all contained within , and are within disjoint layers.

Each path is scaled by a factor of larger than the paths that are anchored at its vertices.
Together, these properties imply that the ply disks for a path can only overlap with ply disks for their ancestor paths in the heavy path decomposition tree. Therefore, since each path is drawn with ply number at most 3, the total ply number is at most , where is the height of the heavy path decomposition tree. Since , the ply number is .
Lastly, if is a constant, then the total scaling for our largest disk is , which simplifies to . This completes our proof of Theorem 2.
4 Lower bound for 2trees
Since all trees can be drawn with ply number, it is natural to consider larger planar graph classes. We show that a 2tree can require at least ply, for any fixed .
First, let us informally describe a 2tree. A tree can be constructed by beginning with a root vertex, and adding vertices one a time, attaching each new vertex to a single parent. A 2tree can be constructed by beginning with two root vertices connected by an edge. Then each time we add a new vertex, we attach it to two different parents.
We know that a star can be drawn with ply number 2 when the distance to successive vertices increases exponentially [1]. A tree can be drawn with ply number when the distances from parents to their children decrease exponentially as we move down the tree. Intuitively, combining these two graphs produces a graph that requires large ply, since it is impossible to satisfy both conditions simultaneously.
Accordingly, we begin with disjoint complete binary trees of height , which we label , , where and will be determined later. Then we add one vertex connected to every vertex in each tree. Note this graph can be constructed as a subgraph of a 2tree.
Now we have two possible types of drawings for our graph. In one case, every tree has some vertex whose ply disk contains . Therefore, the ply number of our graph is at least , since there are at least ply disks that all contain . In the second case, there is some tree for which none of the ply disks for its vertices contain . To analyze this case, we make use of the following lemma.
Lemma 4.
If two adjacent vertices and satisfy , then the ply disk for contains .
Proof.
Suppose that , so that . By the triangle inequality, . Then the ply radius for is at least . Therefore, the ply disk for contains . (See Figure 12.) ∎
Assume without loss of generality that the distance from to the root of is 1, and let . We can then show by induction that if no ply disk in contains , then the nodes at the th level of our tree are at distance at most from , and at least .
Now partition our drawing into annulae , where the inner radius of is , and the outer radius is , for . Next choose to be the index of the annulus containing the maximum number of vertices. We have more than vertices, and only annulae to distribute our vertices, so must contain at least vertices. Since each of these vertices is at a distance of at least , each has a ply radius of at least .
A vertex at a distance of from will have a ply radius of at least , so the outer edge of its ply disk will be at a distance of . Therefore, let be the disk centered at with a radius of , so that all of the ply disks for vertices in are contained in . Now we compute the ratio of the areas of the ply disks in to its own area, which is a lower bound for the ply number. Note that contains at least ply disks that each have a radius of at least . Therefore, this ratio is at least:
Now let , and let . Note that the total number of vertices in each tree is . The total number of vertices overall is then .
If every tree has a vertex whose ply disk contains , then the ply number is at least . Otherwise, if some tree does not have such a vertex, then that tree’s ply number is . This gives us the following theorem.
Theorem 3.
There is a 2tree with vertices for which any drawing has ply number , for any fixed .
5 Conclusion
We have shown that all trees have 1ply drawings when , or logarithmic ply number when , and that 2trees may require ply for any .
There are many open questions left to resolve, but we are especially interested in closing the gap between constant and logarithmic ply for trees with between three and nine children per node. We would also like to consider intermediate planar graph classes between trees and 2trees, such as outerplanar graphs, and determine whether they can be drawn with ply.
Acknowledgements
This research was supported by DARPA agreement no. AFRL FA87501520092 and NSF grants 1526631 and 1815073. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense or the U.S. Government.
References
 [1] Patrizio Angelini, Michael A Bekos, Till Bruckdorfer, Jaroslav Hančl, Michael Kaufmann, Stephen Kobourov, Antonios Symvonis, and Pavel Valtr. Low ply drawings of trees. In International Symposium on Graph Drawing and Network Visualization, pages 236–248. Springer, 2016.
 [2] Patrizio Angelini, Steve Chaplick, Felice De Luca, Jiri Fiala, Jan Hancl Jr, Niklas Heinsohn, Michael Kaufmann, Stephen Kobourov, Jan Kratochvil, and Pavel Valtr. On vertexand emptyply proximity drawings. arXiv preprint arXiv:1708.09233, 2017.
 [3] Heinz Breu and David G Kirkpatrick. Unit disk graph recognition is NPhard. Computational Geometry, 9(12):3–24, 1998.
 [4] F. De Luca, E. Di Giacomo, W. Didimo, S. Kobourov, and G. Liotta. An experimental study on the ply number of straightline drawings. In International Workshop on Algorithms and Computation (to appear). Springer, 2017.
 [5] Emilio Di Giacomo, Walter Didimo, Seokhee Hong, Michael Kaufmann, Stephen G Kobourov, Giuseppe Liotta, Kazuo Misue, Antonios Symvonis, and HsuChun Yen. Low ply graph drawing. In Information, Intelligence, Systems and Applications (IISA), 2015 6th International Conference on, pages 1–6. IEEE, 2015.
 [6] Christian A. Duncan, David Eppstein, Michael T. Goodrich, Stephen G. Kobourov, and Martin Nöllenburg. Lombardi drawings of graphs. Journal of Graph Algorithms and Applications, 16(1):85–108, 2012.
 [7] David Eppstein and Michael T Goodrich. Studying (nonplanar) road networks through an algorithmic lens. In Proceedings of the 16th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, page 16. ACM, 2008.
 [8] Kenneth Falconer. Fractal Geometry: Mathematical Foundations and Applications. John Wiley & Sons, 2004.
 [9] Fabrizio Frati and Maurizio Patrignani. A note on minimumarea straightline drawings of planar graphs. In SeokHee Hong, Takao Nishizeki, and Wu Quan, editors, 15th Int. Symp. on Graph Drawing (GD), pages 339–344, 2008.
 [10] Emden R Gansner, Yifan Hu, and Stephen Kobourov. Gmap: Visualizing graphs and clusters as maps. In Visualization Symposium (PacificVis), 2010 IEEE Pacific, pages 201–208. IEEE, 2010.
 [11] Emden R Gansner, Yehuda Koren, and Stephen North. Graph drawing by stress majorization. In International Symposium on Graph Drawing, LNCS 3383, pages 239–250. Springer, 2004.
 [12] Ashim Garg and Roberto Tamassia. Planar drawings and angular resolution: Algorithms and bounds. In Jan van Leeuwen, editor, 2nd European Symp. on Algorithms (ESA), pages 12–23, 1994.
 [13] Stefan Hachul and Michael Jünger. Drawing large graphs with a potentialfieldbased multilevel algorithm. In International Symposium on Graph Drawing, LNCS 3383, pages 285–295. Springer, 2004.
 [14] Petr Hliněnỳ. Contact graphs of curves. In International Symposium on Graph Drawing, pages 312–323. Springer, 1995.
 [15] Petr Hliněnỳ. Classes and recognition of curve contact graphs. Journal of Combinatorial Theory, Series B, 74(1):87–103, 1998.
 [16] Tomihisa Kamada and Satoru Kawai. An algorithm for drawing general undirected graphs. Information Processing Letters, 31(1):7–15, 1989.
 [17] Gary L. Miller, ShangHua Teng, William Thurston, and Stephen A. Vavasis. Geometric separators for finiteelement meshes. SIAM Journal on Scientific Computing, 19(2):364–386, 1998.
 [18] Debajyoti Mondal and Lev Nachmanson. A new approach to graphmaps, a system browsing large graphs as interactive maps. arXiv preprint arXiv:1705.05479, 2017.
 [19] Lev Nachmanson, Roman Prutkin, Bongshin Lee, Nathalie Henry Riche, Alexander E Holroyd, and Xiaoji Chen. Graphmaps: Browsing large graphs as interactive maps. In International Symposium on Graph Drawing and Network Visualization, pages 3–15. Springer, 2015.
 [20] Daniel D Sleator and Robert Endre Tarjan. A data structure for dynamic trees. Journal of Computer and System Sciences, 26(3):362–391, 1983.
Appendix
Here we include a proof of Lemma 11.
*
Proof.
We prove each part of our lemma as follows.

Suppose that our heavy path decomposition tree has a total height of , and the path is at height . Then we use the DrawPath algorithm to construct a drawing of . We set the drawing disk for a vertex in to have radius , that is, the size of the subtrees anchored at . Since the length of the edge is at least (by Lemma 3), the drawing disks for any two adjacent vertices in our path will not overlap.

Next we scale the drawing of by . Note that each path anchored at a vertex in is scaled by , so the difference in the scaling factor is . We show that at least paths can be anchored in different layers around each vertex in .
From Lemma 3, we know that each path anchored at has an unscaled length of at most , where is the total size of the subtrees anchored at . We also know by Lemma 1 that the ply disks for vertices in two different paths will not overlap if their distance from differs by at least a factor of three.
So we will draw the th path anchored at is drawn between and , where satisfies the following recurrence:
Solving the recurrence, we find that . Since we have at most layers, the largest layer will have an outer radius less than . Since the unscaled drawing disk for had a radius of , a relative scaling factor of is sufficient to fit the paths that are anchored at it.

Since our heavy path decomposition has height , the largest path will be scaled by a factor of from its original length of . So the diameter of our drawing is , which simplifies to . The total area is then also , for a larger constant.
∎