Upward planar drawings with two slopes

06/05/2021
by   Jonathan Klawitter, et al.
0

In an upward planar 2-slope drawing of a digraph, edges are drawn as straight-line segments in the upward direction without crossings using only two different slopes. We investigate whether a given upward planar digraph admits such a drawing and, if so, how to construct it. For the fixed embedding scenario, we give a simple characterisation and a linear-time construction by adopting algorithms from orthogonal drawings. For the variable embedding scenario, we describe a linear-time algorithm for single-source digraphs, a quartic-time algorithm for series-parallel digraphs, and a fixed-parameter tractable algorithm for general digraphs. For the latter two classes, we make use of SPQR-trees and the notion of upward spirality. As an application of this drawing style, we show how to draw an upward planar phylogenetic network with two slopes such that all leaves lie on a horizontal line.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

06/12/2020

Planar Rectilinear Drawings of Outerplanar Graphs in Linear Time

We show how to test in linear time whether an outerplanar graph admits a...
10/24/2020

Drawing Two Posets

We investigate the problem of drawing two posets of the same ground set ...
03/11/2021

Upward Planar Drawings with Three and More Slopes

We study upward planar straight-line drawings that use only a constant n...
07/11/2018

A Fixed-Parameter Linear-Time Algorithm for Maximum Flow in Planar Flow Networks

We pull together previously established graph-theoretical results to pro...
08/20/2020

On Turn-Regular Orthogonal Representations

An interesting class of orthogonal representations consists of the so-ca...
07/13/2020

Conformal mapping in linear time

Given any ϵ >0 and any planar region Ω bounded by a simple n-gon P we co...
07/18/2018

A Fixed-Parameter Linear-Time Algorithm to Compute Principal Typings of Planar Flow Networks

We present an alternative and simpler method for computing principal typ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

When we visualize directed graphs (digraphs for short) that model hierarchical relations with node-link diagrams, we traditionally turn edge directions into geometric directions by letting each edge point upward. Aiming for visual clarity, we would like such an upward drawing to be planar, that is, no two edges should cross [DETT99]. If this is possible, the resulting drawing is called an upward planar drawing; see Figure 1 (a). Interestingly, as Di Battista and Tamassia [DBT88] have shown, every upward planar drawing can be turned into one where each edge is drawn with a single line segment; such a straight-line drawing may however require an exponentially large drawing area.

Figure 1: (a) An upward planar drawing; (b) an orthogonal drawing; (c) an upward planar 2-slope drawing.

Another important class of drawings are (planar) orthogonal drawings, where edges are drawn as sequences of horizontal and vertical line segments [DETT99]; see Figure 1 (b). This drawing style is commonly used for schematic drawings such as VLSI circuit design and UML diagrams. Schematic drawings that allow more than two slopes for edge segments include hexalinear and octilinear drawings, which find application in metro maps [NW11]. In general, the use of only few geometric primitives (such as different slopes) in a graph drawing facilitates a low visual complexity; a common quality measure for drawings [Sch15].

In recent years, the interest in upward planar drawings that use only few different slopes has grown. For example, among other results, Bekos et al. [BDGD18] showed that every so-called bitonic -graph with maximum degree  admits an upward planar drawing where every edge has at most one bend and the edges segments use only  distinct slopes. Di Giacomo et al. [DGLM20] provided complementary results by proving that also every series-parallel digraph admits a 1-bend upward planar drawing on  distinct slopes; their drawings also have optimal angular resolution. Brückner et al. [BKM19] considered level-planar drawings with a fixed slope set, that is, upward planar drawings where each vertex is drawn on a predefined integer y-coordinate (its level). In this paper, we continue this recent trend. In particular, we study bendless upward planar drawings that use only two different slopes. An example of such a drawing is shown in Figure 1 (c). Some of our results also imply results for 1-bend upward planar drawings. We now define these drawing concepts more precisely and list related work.

Upward planarity.

An upward planar drawing of a directed graph  is a planar drawing of where every edge is drawn as a monotonic upward curve from to . A digraph is called upward planar if it admits an upward planar drawing. Two upward planar drawings of the same digraph are topologically equivalent if the left-to-right orderings of the incoming and outgoing edges around each vertex coincide in the two drawings. An upward planar embedding is an equivalence class of upward planar drawings. An upward planar digraph is called upward plane if it is equipped with an upward planar embedding.

A necessary though not sufficient condition for upward planarity is acyclicity [BDBLM94]. Moreover, Garg and Tamassia [GT01] showed that testing upward planarity is NP-complete for general digraphs. While the digraphs used in their reduction contain vertices with in- and outdegree higher than two, such vertices can be split into mulitple vertices of maximum in- and outdegree at most two without losing any of the properties required in their proofs. It is thus also NP-complete to test upward planarity for digraphs with in- and outdegree at most two. On the positive side, there exist several fixed-parameter tractable algorithms for general digraphs [Cha04, HL06, DGL10] and polynomial time algorithms for single source digraphs [BDBMT98], series-parallel digraphs [DGL10], outerplanar digraphs [Pap95], and triconnected digraphs [BDBLM94]. Moreover, upward planarity can be decided in polynomial time if the embedding is specified [BDBLM94].

-bend -slope drawings.

In an -bend drawing of a graph each edge is drawn with at most line segments; equivalently, each edge has at most bends. An -bend -slope drawing of is an -bend drawing of where every edge segment has one of at most distinct slopes. From now on and if not further specified, we refer to bendless (or 0-bend) -slope drawings simply with -slope drawings.

Note that orthogonal drawings are -slope drawings without a bound on the number of bends. Tamassia [Tam87] showed that a planar orthogonal drawing with minimum total number of bends of a plane graph on vertices can be computed in  time. Rhaman et al. [RNN03] gave necessary and sufficient conditions for a subcubic plane graph to admit a bendless orthogonal drawing. For drawings in 3D, Eppstein [Epp13] considered bendless orthogonal graph drawings where two vertices are adjacent if and only if two of their coordinates are equal.

Given a graph , the minimum number of slopes needed for to admit a -slope drawing is called the slope number of  [WC94]. In the planar setting, this is the planar slope number of . Both these numbers have been studied extensively. For example, Pach and Pálvölgyi [PP06] showed that the slope number of graphs with maximum degree 5 can be arbitrarily large. Further results, include bounds on slopes numbers of graph classes such as trees, 2-trees, planar 3-trees, outerplanar graphs [DESW07, LLMN13, JJK13, KMW14], cubic graphs [MP12], and subcubic graphs [DGLM18, KMSS18]. Determining the planar slope number is hard in the existential theory of the reals [Hof17].

Upward planar 2-slope drawings.

The focus of this paper lies on (bendless) upward planar -slope drawings. We consider only the slope set and denote it by , since an upward planar 2-slope drawing on any two slopes can be morphed into an upward planar 2-slope drawing with the slopes and

– imagine this as (un)skewing a partial grid; see

Figure 2. Note that a natural lower bound on the upward planar slope number of a graph is given by its maximum in- and outdegree. Hence, we assume that the graphs considered in this paper have maximum in- and outdegree at most two.

Figure 2: Two upward planar 2-slope drawings of the same graph on different slope sets – edge directions are given implicitly. Using an affine transformation one can transform a drawing on any size-two slope set into one on .

Bachmaier et al. [BBB09], Brunner and Matzeder [BM11], and Bachmaier and Matzeder [BM13] studied straight-line drawings of ordered and unordered rooted trees on -grids for . Some of their drawing styles are also upward planar. A classical results of Crescenzi et al. [CDP92] shows that any binary tree with vertices admits an upward planar 2-slope drawing in area. Concerning more complex graphs, upward planar drawings with few slopes for lattices have been studied by Czyzowicz et al. [CPR90] and Czyzowicz [Czy91]. As mentioned above, Bekos et al. [BDGD18] and Di Giacomo et al. [DGLM20] considered such drawings for -graph and series-parallel graphs but also allowed bends. In a companion paper to the current one, Klawitter and Zink [KZ21] study upward planar -slope drawings for and among other results show that it is NP-hard to decide whether an outerplanar digraph admits an upward planar 3-slope drawing.

Phylogenetic networks.

Our interest in upward planar 2-slope drawings also stems from the problem of visualizing phylogenetic networks. Phylogenetic trees and networks are used to model the evolutionary history of a set of taxa like species, genes, or languages [HRS10, Dun14, Ste16]. The precise definition of phylogenetic networks and their drawing conventions may vary widely depending on the particular use case. For instance, vertices may have timestamps that should be represented in the drawings or leaves may be required to be placed on the same height. In combinatorial phylogenetics the following definition is commonly used [HRS10]: A phylogenetic network is a rooted digraph where the leaves are labelled bijectively with a set of taxa. Inner vertices are either tree vertices that have indegree one and outdegree two or reticulations that have indegree two and outdegree one; see Figure 3 (a). A network without reticulations is a phylogenetic tree; see Figure 3 (b).

Figure 3: (a) A phylogenetic network with two reticulations; (b) a phylogenetic tree drawn as rectangular cladogram and (c) upward planar with two slopes.

There exist different drawing styles for phylogenetic trees such as rectangular or circular cladograms [BBS05, Hus09]. If the focus is on the topology of the tree (and thus the taxonomy), a common drawing style is upward planar with 2-slope and all leaves aligned on a line. Theoretical work to adapt classical drawing styles from phylogenetic trees to phylogenetic networks has been carried out by Huson et al. [KH08, Hus09, HRS10]. A different approach has been taken by Tollis and Kakoulis [TK16], who propose a drawing style similar to treemaps for a special class of phylogenetic networks. There also exist several software tools to draw phylogenetic networks [HB05, HS12, BDM12, Vau17, SVGB21]. Here we are interested in drawing upward planar phylogenetic networks with two slopes and the additional constraint that all leaves lie on a horizontal line; see Figure 3 (c).

Contribution.

In this paper we investigate the following decision problem. Given a digraph of in- and outdegree at most two, decide whether it admits an upward planar -slope drawing. We distinguish the fixed and variable embedding scenario, that is, whether is already equipped with an upward planar embedding or not. In the former case, we give a simple characterisation of when a drawing exists; see Section 3. By making use of orthogonal drawing algorithms, we also show how to construct a drawing (if it exists) in linear time. In addition, if no upward planar 2-slope drawing exists, we describe how to obtain an upward planar 1-bend 2-slope drawing of with minimum number of bends.

For the variable embedding scenario, we check whether graphs of different graph classes admit an upward planar 2-slope drawing, based on the results of see Section 3. In Section 4.1, we show that for a single-source digraph , checking whether an upward planar 2-slope drawing of exists can be done based on a single upward planar embedding of . In the affirmative, a suitable upward planar embedding can be derived and a drawing constructed in linear time. For series-parallel digraphs (Section 4.3) and general digraphs (Sections 4.5 and 4.4), we derive a quartic-time and a fixed-parameter tractable algorithm, respectively. These algorithms are based on Didimo et al.’s algorithms for upward planarity testing [DGL10].

Lastly, we show how to compute 2-slope drawings of upward planar phylogenetic networks, where all leaves lie on a horizontal line in linear time; see Section 5. We conclude with a short discussion and open problems.

2 Preliminaries

Let be an upward plane digraph with maximum in- and outdegree two. We assume, without loss of generality, that is connected and let denote the number of vertices of or the graph currently under consideration.

If a vertex of has two incoming edges, then based on the left-to-right ordering of the edges around , it is natural to talk about the left and the right incoming edge of . If an edge is the only incoming edge at , we call the sole incoming edge of . The same holds for outgoing edges; see Figure 4 (a).

A 2-slope assignment is a mapping from the edges of to the slopes and , i.e. . We say is a consistent 2-slope assignment if

  • every left (right) incoming edge of a vertex is assigned the slope (), and

  • every left (right) outgoing edge of a vertex is assigned the slope ().

An edge that is the sole outgoing edge of and the sole incoming edge of may have either slope. A digraph together with a consistent 2-slope assignment forms an upward planar 2-slope representation . To ease reading, we simply write 2-slope representation.

Suppose contains an edge that is the left outgoing edge of and left incoming edge of . Let be the face to the right of ; see Figure 4 (b). We then call  a bad edge with respect to , since obstructs a consistent -slope assignment. The same holds with “left” and “right” in reversed roles.

Figure 4: (a) The edge is the right outgoing edge of and left incoming edge of , the edge is the sole outgoing edge of ; (b) the edge is a bad edge with respect to ; (c) is a left-switch spanning a small angle, spans a flat angle and is thus not a switch, and is a sink-switch spanning a large angle.

Let be a -slope representation of . Let be a triplet such that is a vertex of the boundary of a face and , are incident edges of that are consecutive on the boundary of in counterclockwise direction. The triplet is called an angle of . We can categorise angles into three groups, namely, is

  • a large angle if and span a 270 angle in ,

  • a small angle if and span a 90 angle in , or

  • a flat angle if and span a 180 angle in

with respect to the slopes assigned to  and . A vertex  of  is called a local source with respect to a face  if  has two outgoing edges on the boundary of . A local sink is defined analogously. Furthermore, we call  a switch with respect to  if the slopes of  and  differ; for example, every local source is a switch. We further categorise switches by the angle they span and where they lie on the boundary of ; see Figure 4 (c). A switch  is a large switch if  and  span a large angle at  and a small switch otherwise; note that there can be no “flat” switch. We call  a source-switch or sink-switch if  is a local sink or local source, respectively. Otherwise, if  and  have  to the right (left), then  is a left-switch (resp. right-switch). Note that an inner face  of  contains exactly four small switches more than large switches and that the outer face contains four large switches more than small switches. An inner (the outer) face  is rectangular if it contains exactly four small (large) switches.

Assume for now that  is biconnected. The following definitions are illustrated in Figure 5. A split pair  of  is either a separation pair or a pair of adjacent vertices. A split component of  with respect to the split pair  is either an edge  (or ) or a maximal subgraph  of  such that  contains  and  and  is not a split pair of . Let  be such a split component with respect to the split pair . If  is equipped with an upward planar embedding, then we define the flip of  as the change of the embedding of  by reversing the edge ordering of every vertex of .

Figure 5: (a) A biconnected digraph with split pair , (b) which induces three split components; (c) flip of the third split component.

3 Fixed embedding

In this section we consider the problem of whether an upward plane digraph admits an upward planar 2-slope drawing. As noted above, a bad edge obstructs the existence of a consistent 2-slope assignment and thus of a 2-slope representation for . We show that the absence of any bad edges is not only necessary but also sufficient.

Since upward planar 2-slope drawings are related to orthogonal drawings, we can make use of techniques used to construct them. The classical algorithm by Tamassia [Tam87], which constructs an orthogonal drawing of a plane graph with minimum number of bends, works in three steps; refer also to Di Battista et al. [DETT99, Chapter 5]. It starts with a plane graph and constructs a so-called orthogonal representation, a description of the shapes of the faces. The second step, called refinement, subdivides each face into rectangles. Finally, the third step performs a so-called compaction – it assigns coordinates to the vertices with the goal to minimize the area of the drawing. The technique for construction an orthogonal representation is not suitable for the construction of an upward planar 2-slope drawing, as it does not preserve the upwardness of edges. However, with a 2-slope representation already given, we can adopt the refinement algorithm by Tamassia and the compaction algorithm by Di Battista et al. for our purposes. In the following lemma we sketch such a modified version of Tamassia’s algorithm that refines the faces of a 2-slope representation. For this, recall that a switch is a triplet consisting of a vertex and its two incident edges along a face in counterclockwise order where and have different slopes.

Lemma 3.1.

Let be an upward plane digraph on vertices with 2-slope representation . Then, in time, can be refined into a digraph that contains only rectangular faces and such that is a topological minor of respecting .

Proof.

If every face of is already rectangular, then we are done and . Assume this is not the case and let be non-rectangular inner face of . We describe how to refine into rectangular faces.

First, traverse the boundary of counterclockwise and store in each switch pointers to its preceding and subsequent switch. Next, starting at any switch, traverse the circular sequence of switches in counterclockwise order. Let be the first encountered large switch that is preceding a small switch . Note that such exists since is not rectangular but contains at least four small switches. Without loss of generality, assume is a sink-switch. (The cases when is a source-, left-, or right-switch work analogously.) Let be the subsequent switch of . If is a large switch, then add a vertex and the edges and with slopes and , respectively; see Figure 6 (a). Otherwise, if is a small switch (and thus a right-switch), then subdivide the outgoing edge of with a new vertex , and add the edge with slope . Assign the slope to the two edges resulting from the subdivision. This ensures that is respected by as topological minor of ; see Figure 6 (b). In either of the two case, the result is a rectangular face and a face with one less small and one less large switch than . Let now take the role of and store the preceding switch of and the subsequent switch of as preceding and subsequent switches of , respectively. If is a small switch, continue the traversal with the switch preceding instead of with . Therefore, if a large switch precedes in , the process directly continues with a refinement step without having to potentially traverse the whole circular sequence first. Stop when only four switches are left and when is thus rectangular. Note that this process runs in linear time in terms of the size of and that it only adds as many new vertices as contains large switches.

Figure 6: How to refine non-rectangular faces of to obtain when a large switch is followed (a) by a small and a large switch or (b) by two small switches. On the right, the large switch precedes the large switch and is thus processed after .

Repeat this step for every non-rectangular face of including the outer face. Let be the resulting digraph, which by construction has as topological minor and a size in . Furthermore, since the boundary of every face of was traversed only twice, this refinement algorithm runs in time. ∎

We can now prove the main theorem of this section.

Theorem 3.2.

Let be an upward plane digraph with vertices. Then the following statements are equivalent.

  1. [leftmargin=*,label=(F0)]

  2. admits an upward planar -slope drawing.

  3. admits a -slope representation .

  4. contains no bad edge.

Moreover, there exists an -time algorithm that tests if satisfies 3 and constructs an upward planar 2-slope drawing of in the affirmative case.

Proof.

Note that 1 implies 2 and 2 implies 3. We first show that 3 implies 2 and then how to construct a drawing 1 from 2.

Whether contains a bad edge can easily be checked in time. Suppose it does not and thus satisfies 3. Construct a consistent 2-slope assignment for as follows. Go through all edges of (in any order). For an edge , if it is a left (right) incoming edge, assign it (). Otherwise, if it is a left (right) outgoing edge, assign it (). Since is not a bad edge, there is no conflict. If is both a sole incoming and a sole outgoing edge, assign it either slope, say . Together with the already given upward planar embedding of , this slope assignment yields a 2-slope representation of .

Next, we construct an upward planar 2-slope drawing of . Use Lemma 3.1 to obtain a -slope representation of an upward planar digraph in which every face is rectangular in time. Ignoring the slope assignment in we basically have a orthogonal representation of a graph where every face is rectangular. Therefore we can apply the linear-time compaction algorithm by Di Battista et al. [DETT99, Theorem 5.3]. This algorithm assigns edge lengths and computes coordinates while handling the vertical and orthogonal direction of a orthogonal representation independently. Hence, applying the algorithm to , the edges with slopes and are handled independently and keep their slopes. As a result, we get an upward planar 2-slope drawing of , which we can reduce to a drawing of . Since the three steps run in time each, the claim on the running time follows. ∎

Suppose we have an upward plane digraph with bad edges. Since admits no upward planar 2-slope drawing, it is natural to ask whether admits an upward planar 1-bend 2-slope drawing. In particular, if such a drawing exist, is it enough to bend only the bad edges? Using Theorem 3.2 we can answer this question affirmatively.

Corollary 3.3.

Let be an upward plane digraph with vertices, maximum in- and outdegree at most two, and with bad edges.
Then admits an upward planar 1-bend 2-slope drawing with bends. Moreover, without changing the embedding, this is the minimum number of bends that can be achieved.

Proof.

Subdivide every bad edge once to obtain a graph . Then apply Theorem 3.2 to obtain an upward planar 2-slope drawing of . Since a bad edge of is neither a sole incoming nor a sole outgoing edge, the two edges obtained from in have different slopes. Hence, by turning every subdivision vertex into a bend we get an upward planar 1-bend 2-slope drawing of .

Since even a single bad edge obstructs a 2-slope representation and since bending a non-bad edge clearly does not help for other bad edges either, it follows that bends are also necessary. ∎

Note that may admit an upward planar 1-bend 2-slope drawing with less or no bends if the embedding is changed.

4 Variable embedding

In this section we consider the problem of whether a given upward planar digraph of a particular graph class admits an upward planar -slope drawing under any upward planar embedding. Before we start with the class of single-source digraphs, we make two general observations.

Let be an upward planar digraph with maximum in- and outdegree at most two. Suppose contains a leaf . Note that removing from does not change whether admits an upward planar 2-slope drawing. Moreover, we may reduce to a digraph without leaves, obtain a drawing of the reduced digraph (if possible), and then add the leaves to obtain a -slope drawing of . Removing or later restoring leaves takes only linear time.

While leaves are no obstructions, transitive edges are.

Observation 4.1.

A transitive edge of an upward planar digraph is a bad edge in any upward planar embedding of .

Proof.

Let be a transitive edge of . By definition, there is a directed path  from to different from . Since may not cross , it enters from the same side (left or right) as it leaves in any upward planar embedding of and hence is always a bad edge. ∎

4.1 Single-source digraphs

For a single-source digraph , our idea is to first compute an arbitrary upward planar embedding of with the linear-time algorithm of Bertolazzi et al. [BDBMT98]. We then check whether there are any bad edges and, if so, whether they can be fixed with small changes to the embedding. For a characterisation of when such fixes are possible, we need the following lemmata.

Lemma 4.2.

An upward planar single-source digraph contains no bad edge with respect to the outer face.

Proof.

Consider an upward planar embedding of and suppose is a bad edge with respect to the outer face . Then is a sink of that would span a small angle in a 2-slope representation. This implies that there are two sources for that would span large angles, i.e. that are sources of . This is a contradiction to being a single-source digraph. ∎

Lemma 4.3.

Let be an upward planar single-source digraph with maximum in- and outdegree at most two. Then in any upward planar embedding of , there are at most two bad edges with respect to the same face.

Proof.

Let be an upward plane single-source digraph and let be a face of . Note that a bad edge is always incident to a sink of a face that would span a small angle in a 2-slope representation. If there are three or more bad edges with respect to , then contains at least two such sinks (like and in Figure 7 (a)). There is then at least one source for that would span a large angle. However, is also a source of and since it is not the source for the outer face, it is not the only source of . This is a contradiction to being a single-source digraph. Figure 7 (b) gives an example of a face with two bad edges. ∎

Figure 7: (a) A face that has four bad edges, two adjacent to the sinks and of the face each, but that also contains a source ; (b) a face with two bad edges and that can be a face of single source digraph.

We can now characterise when an upward planar single-source digraph admits an upward planar 2-slope drawing.

Theorem 4.4.

Let be an upward plane single-source digraph with maximum in- and outdegree at most two. Then admits an upward planar 2-slope drawing if and only if, for every bad edge in the current upward planar embedding of , there is a split pair such that precedes and where exactly the two outgoing edges of are in the split component of that does not contain .

Proof.

If contains no bad edge with its current embedding, then Theorem 3.2 gives us that admits an upward planar 2-slope drawing. Otherwise, let be a bad edge with respect to a face . By Lemma 4.2, is not the outer face and thus not a bridge. Let be the second outgoing edge of and the second incoming edge of . Note that and are also on the boundary of . Let be the second face with on its boundary. Without loss of generality, assume is to the left and to the right of .

Suppose there exists a vertex that precedes in and that forms a split pair with . If there are multiple choices for , pick the one closest to . Note that by this choice, cannot be a source. Let be the split component of with respect to that does not contain . This is not a single edge since precedes . Furthermore, by picking closest to , we know that at least two incident edges of  are in .

Suppose that only the two outgoing edges of lie inside . We now flip as shown in Figure 8 (a), that is, we reverse the order of incoming and outgoing edges for any vertex in . Note that we only reverse the order for the outgoing edges of . As a result, we get that is no longer a bad edge. The flip cannot introduce a new bade edge, since is not a sink or source of or .

Figure 8: Three scenarios for a bad edge with respect to in a single-source digraph: (a) the split component with respect to the split pair can be flipped such that is no longer a bad edge; (b) cannot be flipped; and (c) there is no split pair .

Suppose that an incoming edge of lies inside of . This implies that contains a source . Since is the only source of and not the outer face, we know that is thus the outer face. Therefore, all incoming edges of have to lie in . Since precedes and is to the right of , the left outgoing edge of lies in . This case is illustrated in Figure 8 (b). We see that cannot be flipped and hence remains a bad edge in any upward planar embedding of . The relation of and the edges of is similar when exists but does not precede . Furthermore, since all incoming edges of lie inside of but was picked closest to , there is no other vertex forming a split pair with that also precedes .

If is not part of a split pair (as in Figure 8 (c)), then the triconnectedness implies that , , and always lie on the boundary of the same face and, hence, that is a bad edge.

We conclude that if a flip is possible for every bad edge as shown in Figure 8 (a), then the embedding can be changed until no bad edge remains. ∎

With the characterisation from Theorem 4.4, we can check whether every bad edge can be fixed and if so, perform the necessary flips. Since split components to flip may be nested, executing simply one flip after the other could be costly. We now show how to keep the running time linear.

Theorem 4.5.

Let be an upward planar single-source digraph with vertices. An upward planar 2-slope drawing of can be computed in time, if one exists.

Proof.

First, compute an upward planar embedding of with the algorithm of Bertolazzi et al. [BDBMT98] in time. Second, traverse the boundary of every face to identify all bad edges in time. Third, for each bad edge with respect to a face , check whether it can be repaired with the condition of Theorem 4.4. If this is the case, mark the respective as the beginning and as the end of a split component. This can be done by a simple traversal of . Since by Lemma 4.3 any face contains at most two bad edges, this step takes also only time.

Suppose every bad edge can be fixed. Then run a BFS on that starts at the source. During the traversal, remember the parity of encountered marked beginnings and endings of split components in each vertex. Use this information to decide for each vertex whether its edge order has to be reversed. This takes again only linear time and as a result we get an upward planar embedding of that admits a 2-slope representation .

Finally, apply the algorithm from Theorem 3.2 on to compute an upward planar 2-slope drawing of . ∎

Note that in Theorem 4.4 whether an edge is bad in any upward planar embedding of is independent from whether another edge is bad in any upward planar embedding of . Hence, we can also use Theorem 4.5 and Corollary 3.3 to minimise the number of bends in a 1-bend 2-slope drawing of .

Corollary 4.6.

Let be an upward planar single-source digraph with vertices and maximum in- and outdegree two. An upward planar 1-bend 2-slope drawing of with the minimum number of bends can be computed in time.

4.2 SPQR-trees and upward spirality

Didimo et al. [DGL06, DGL10] described algorithms to compute upward planar embeddings of biconnected series-parallel and general digraphs. They then use a result from Healy and Lynch [HL07] about combining biconnected blocks of upward planar digraphs to get rid of the biconnectivity condition. We follow their approach closely. In particular, we also use the notions of SPQR-trees and upward spirality (with the latter tailored to our needs) on which Didimo et al.’s approach heavily relies on. We refer to Didimo et al. [DGL10] for the precise definition of SPQR-trees (for undirected graphs and then derived for digraphs), though recall the main concepts in this section.

Let be a biconnected digraph and let be any edge of called reference edge. An SPRQ-tree of with respect to (wrt) represents a decomposition of with respect to its triconnected components [DBT89, GM01]. As such, it also represents all planar embeddings of with on the outer face. Starting with the split pair , the decomposition is constructed recursively on the split pairs of . More precisely, is a rooted tree where every node is of type S, P, Q, or R: Q-nodes represent single edges, S-nodes and P-noes represent series components and parallel components, and R-nodes represent triconnected (rigid) components; see Figure 9 for an example. Each node in has associated a biconnected multigraph , called the skeleton of , in which the children of and its reference edge are represented by a virtual edge. The root of is a Q-node representing . The child of is now defined recursively as follows:

Trivial case.

If consists of exactly two parallel edges between and , then is a Q-node representing the edge parallel to the reference edge and the skeleton is .

Parallel case.

If the split pair has three or four split components (more are not possible with our degree restrictions), then is a P-node. The skeleton consists of parallel edges between and that represent the reference edge and the components , .

Series case.

If induces two split components and , then is an S-node. If is a chain of biconnected components with cut vertices (), then is the cycle , , , , , , , , where represents .

Rigid case.

Otherwise is an R-node. Let , …, be the maximal split pairs of with respect to . Let be the union of split components of except the one containing . Then is obtained from by replacing each subgraph with .

The skeleton of the root consists of two parallel edges, and a virtual edge representing the rest of the graph. Each node of that is not a Q-node has children , in this order such that is a child of based on with respect to . The end vertices of are called the poles of , of , and of . The pertinent graph for a node of represents the full subgraph of in the SPQR-tree rooted at . Refer to Figure 9 for an example and note that every edge is represented by a Q-node. We assume that is in its canonical form, that is, every S-node of has exactly two children. The canonical form can be derived from a non-canonical form in linear time [DGL10].

Figure 9: A digraph and its (non-canonical) SPQR-tree wrt the reference edge . The skeletons of some nodes are depicted with the virtual edge drawn dashed. The pertinent graph of the R-node is highlighted in .

Assume is equipped with an st-numbering (based on its underlying undirected graph and with respect to the reference edge ). Let be a node of with poles and such that precedes in the st-numbering. Then is the first pole and is the second pole of .

Let be a -slope representation of the pertinent graph of a node of . Let  and be the poles of and let . The pole category of the pole is the way the edges of are incident to and which slopes they got assigned under . The sixteen possible pole categories of split components are shown in Figure 10. Two poles  and with pole category and , respectively, are compatible if and can be combined into a pole category of higher degree. For example, combining iR and iL gives iRiL.

Figure 10: Pole categories in a 2-slope representation; gray areas indicate where the interior of the graph lies.

Next we define upward spirality, which measures how much a split component is “rolled up”. The pertinent graph of a node of may have 2-slope representations with different spirality. Let be a 2-slope representation of with first pole and second pole . Let be an undirected path in . Two subsequent edges and of define a left (right) turn if makes a 90 clockwise (resp. counterclockwise) turn at according to . Define the turn number of as the number of right turns minus the number of left turns of . Let and be the clockwise and counterclockwise paths from to along the outer face, respectively. We define the upward -slope spirality of as See Figure 11 for examples. Note that the turn number of a path is bounded by its length. Therefore, the number of possible values for the upward -slope spirality of is in (and in where is the diameter of ).

Figure 11: Two different -slope representations of the same digraph. (a) The paths and have turn number and , and so the upward -slope spirality is . (b) The paths and have turn number and , and so the upward -slope spirality is

Let be a node of with first pole and second pole . A feasible tuple of is a tuple where is an upward 2-slope representation of with pole categories and and upward 2-slope spirality . Two feasible tuples of are spirality equivalent if they have the same upward -slope spirality and pole categories. A feasible set of is a set of all feasible tuples of such that there is exactly one representative tuple for each class of spirality equivalent tuples of .

4.3 Series-parallel digraphs

Let be a biconnected series-parallel digraph, that is, an SPQR-tree (or rather SPQ-tree) of contains no R nodes. Our goal is to test the existence of an upward planar embedding and a 2-slope representation of that does not contain a bad edge. The idea of the algorithm is as follows. Pick a reference edge and construct the respective SPQR-tree of . In a post-order traversal of , compute the feasible set of each node. This is straightforward for Q-nodes. For an S- or P-node , try to combine feasible tuples of the children of to feasible tuples of . The pole categories and upward -slope spirality values make it easier to check whether a composition admits an upward planar -slope representation. If this leads to non-empty feasible set for the root of , we can construct a drawing. Otherwise, we try again with another reference edge.

Let be a Q-node of with first pole and second pole and suppose is the edge (instead of ). Then there are only two upward -slope representation of , namely when is assigned the slope or the slope . Therefore, has size two. The following two lemmata show how to compute the feasible set of an S-node and P-node of .

Lemma 4.7.

Let be a biconnected digraph with vertices and be an SPQR-tree of . Let be an S-node of with children and . Given the feasible sets and , the feasible set can be computed in .

Proof.

To compute a feasible tuple of we check for all pairs and whether they can be combined. More precisely, let be the first and the second pole of ; refer to Figure 12. Let be the first and be the second pole of , . Without loss of generality, assume that , , and . For each pair of feasible tuples and check whether and are compatible. In other words, check whether and can be plugged together at under the slope assignments of and .

If the pole categories are compatible, the feasible tuple  is given by , , as the series composition of  and  at the common vertex , and where  can be computed as follows. For , let  and  be the edges of  that are incident to  and lie on the clockwise and counterclockwise path from  to  along the outer face, respectively; see Figure 12 (b). Note that  may coincide with . For , let be , , or depending on whether  and  make a left, right, or no turn, respectively. The upward -slope spirality of  is (compare to Lemma 6.4 by Didimo et al. [DGL10]). Store in  if  contains no feasible tuple that is spirality equivalent to . Since and have  tuples, can be computed in time. ∎

Figure 12: Illustration of a series composition of split components and . (b) and are compatible and the upward -slope spirality can be computed based on , , and the turns at and and at and . (c) and are not compatible.
Lemma 4.8.

Let be a biconnected digraph with vertices and be an SPQR-tree of . Let be a P-node of with children with . Given the feasible sets , the feasible set can be computed in .

Proof.

Let be the first and the second pole of (and its children). Since and have at most degree four in , has at most four children (but at least two). Furthermore, four children are only possible in the final composition with the reference edge . We consider the case where has three children. The other two cases work along the same line.

For , let be the pertinent digraph of . Note that and have degree one in . We can thus define and as the edges of incident to and , respectively. (If is a Q-node, then .) Let and be the edges of incident to and respectively that lie outside of . (Note that is only possible in the final composition, where is then also the reference edge.) We want to construct a -slope representation of  such that the order of at is the reverse order of at ; see Figure 13 (a). Furthermore, the half edges representing and  have to be on the outer face.

Suppose we pick a feasible tuple . Then and restrict the choices of pole categories of compatible upward -slope representations of  and . Likewise, restricts these choices further; see Figure 13 (b) and (c). More precisely, we observe that the upward -slope spirality and of compatible and  differ from by at least two and at most six (compare to Lemma 6.6 by Didimo et al. [DGL10]). We thus only have to consider feasible tuples in and instead of iterating over complete sets. Storing the feasible tuples in a hash table based on the spirality and pole categories we can find compatible and in constant time. Similar to the series-composition, we can compute the upward -slope spirality of the resulting upward -slope representation based on its categories and , . Hence, by iterating once over we can construct all feasible tuples of in . ∎

Figure 13: Illustration of a parallel compositions with three children and how picking an upward -slope representation of enforces the spirality of representation of and .

Lastly, for the root composition we check in time whether the root of , which is a Q-node representing , can be combined with a feasible tuple of its child. In the affirmative case, we obtain an upward -slope representation of . With all compositions described, we can now prove the main theorem of this section.

Theorem 4.9.

Let be a biconnected series-parallel digraph with vertices. There exists an -time algorithm that tests if admits an upward planar 2-slope drawing and, if so, that constructs such a drawing.

Proof.

Let be an edge of . Compute the (canonical) SPQR-tree with respect to of , which can be done in time [GM01, DGL10]. In a post-order traversal of , the algorithm computes the feasible set for every node of . If the algorithm arrives at a node with an empty feasible set, its starts with another reference of . Otherwise, the algorithm stops when it has constructed a feasible tuple for . We can then use Theorem 3.2 to construct an upward planar 2-slope drawing. For one reference edge, this takes at most time per node by Lemmas 4.8 and 4.7. and since the size of is linear in , at most time in total. The total running time is thus in . ∎

In Section 4.5 we explain how to handle non-biconnected series-parallel digraphs.

4.4 Biconnected digraphs

We extend the algorithm for biconnected series-parallel digraphs to general biconnected digraphs following again Didimo et al. [DGL10]. The upward planarity check is again combined with finding a 2-slope representation. Let be a biconnected digraph. Let  be the SPQR-tree of with respect to a reference edge . The algorithm computes again the feasible sets of the nodes of in a post-order traversal. For Q-, S-, or P-nodes this works as before. Recall that to compute a feasible tuple of an S-node or P-node it suffices to look at the pole categories and upward spirality of its children. For R-node this connection is not as clear and we rely thus on a brute-force approach. More precisely, we compute the feasible set by considering all possible combinations of tuples for each virtual edge of to construct . If substitutions are successful, we have to check upward planarity and the existence of bad edges.

Lemma 4.10.

Let be a biconnected digraph with vertices and be an SPQR-tree of . Let be an R-node of with children . Let be the diameter of . Given the feasible sets , the feasible set can be computed in .

Proof.

Note that since is triconnected, it has a unique planar embedding (up to mirroring), which we can compute in . Note that, by Theorem 3.2, if contains a bad edge with respect to three non-virtual edges, then is empty. Moreover, then admits no upward planar 2-slope drawing and the main algorithm can stop. So suppose no such bad edge exists.

Construct a 2-slope representation of by substituting virtual edges with the respective 2-slope representations. More precisely, for all , substitute with the -slope representation of a feasible tuple in . Let denote the partial upward -slope representation of during this process. At each pole of a child in  check whether the -slope representations of the substituted parts are conflicting. If this check fails, backtrack and try another feasible tuple. Suppose that it is successful for all poles of all . Then test the upward planarity of with the flow-based upward planarity algorithm by Bertolazzi et al. [BDBLM94] where the assignment of switches to faces is given for the substituted parts. This flow-based algorithm runs in time.

If is upward planar, check whether it contains any bad edge and, if not, extend to a -slope representation of (compare to Lemma 8.2 by Didimo et al. [DGL10]). Lastly, compute the upward -slope spirality of in to obtain a feasible tuple for . By backtracking and trying the remaining feasible tuples of the , we complete the computation of .

Note that is an upper bound on the upward -slope spirality of a split component and thus each has feasible tuples. Therefore the algorithm tries at most combinations of feasible tuples of the children of . Hence the feasible set of an R-node can be computed in , where the factor comes from the flow based upward planarity test. ∎

Let denote the maximum diameter of a split components of and let denote the number of nontrivial triconnected components of , i.e., series components, parallel components, and rigid components.

In total, by Lemma 4.10, the feasible set of all R-nodes can be computed in . Recall that the time needed to compute the feasible set of an S-node is bounded by the square of possible spirality values and thus in . Since we use the canonical form of SPQR-trees there are S-nodes. Therefore, we can compute the feasible sets of all S-nodes of in time. Similarly, the feasible sets of all P-nodes of can be computed in time. Lastly, iterating over all SPQR-trees of for the different choices of reference edges adds another factor of . If a 2-slope representation of has been found, we apply again Theorem 3.2 to compute a drawing. Hence, we get the following theorem.

Theorem 4.11.

Let be a biconnected digraph with vertices. Suppose that has at most nontrivial triconnected components, and that each split component has diameter at most . Then there exists an -time algorithm that tests if admits an upward planar 2-slope drawing and, if so, that constructs such a drawing of .

4.5 General digraphs

So far we have seen how to test whether a biconnected digraph admits a 2-slope representation. For a general digraph , even if each of its biconnected components, called a block, has a 2-slope representation we may not be able to join the blocks; see Figure 14. In fact, even all blocks of being upward planar does not imply that is upward planar [HL07]. Nonetheless, following Healy and Lynch [HL07], our strategy is to test for each block if its admits a 2-slope representation under some special conditions and, in the affirmative, join these representations.

Figure 14: does not admit a 2-slope representations (a), even though its blocks do (b).

When we want to merge the representations of two blocks, we have to take two things into consideration. Namely, we have to test whether their joined cut vertex is on the outer face for one of the two blocks and whether their 2-slope representations fit together at (just like poles and their pole categories). Before we get into detail on this, we recall what a block-cut tree is and explain how it gives a suitable order to process the blocks.

Block-cut tree.

The block-cut tree of contains a vertex for each block and for each cut vertex, and an edge between a cut vertex and each block that contains . For to admit a 2-slope representation, we must be able to root at a block (with all edges oriented towards this root block) such that an edge between a block and cut vertex is oriented towards only if admits a 2-slope representation where is on the outer face (see Figure 15 and compare to Lemma 3 by Chan [Cha04]). Note that if we can root at a block , then any other block has exactly one outgoing edge and has only incoming edges. For a block with outgoing edge to a cut vertex , we say is a block with respect to (wrt) .

Figure 15: A digraph with six blocks and 2-slope representation (a) and the corresponding rooted block-cut tree (b).

Suppose we would know how to root . With a post-order traversal of , we could then try to find a 2-slope representation for each block wrt of that has on the outer face. However, a priori we do not know at which block to root . Hence, our algorithm works as follows.

Algorithm.

Given , we can find its cut vertices and blocks and construct its block-cut tree in time [Tar72]. Since we do not know what block can function as root of  yet, we start at the leaves of and work “inwards”. Note that a leaf block has only one edge  in to a cut vertex (unless ) and we can thus provisionally direct to . This yields a block block wrt a cutvertex – wrt . Furthermore, during the algorithm, for at least one non-leaf blocks either all or all but one of its neighboring blocks have been handled. Therefore, during this ad hoc post-order traversal of , we can ensure that we always have at least one block wrt a cutvertex.

To process a block wrt , we check whether has a 2-slope representation with (i) on the outer face and (ii) additional constraints on the angles formed at all other cut vertices of , which we describe in detail below. If this is the case, then we can finalize the direction of the edge towards . Otherwise, if does not admit such a 2-slope representation, then has to be the root of . We then orient all edges of towards and continue in the remaining part of . If we later find that another block also needs to be the root of , then does not admit a 2-slope representation. Furthermore, when we arrive back at , we have to test whether admits a 2-slope representation at all.

Note that for a block wrt , where has to be on the outer face of the 2-slope representation , the algorithms from the previous two sections only have to consider an SPQR-tree with an edge incident to as reference edge.

Angles of cut vertices.

We now describe the additional constraints that have to be checked for a block at all of ’s cut vertices. More precisely, let be a block wrt and let be any other cut vertex of if it has any. Depending on the degree of (and ) in and in the neighboring blocks of , we have the following extra conditions on the angles at and in of .

  • Suppose (or ) has degree one in . Then is a single edge, is automatically on the outer face in any 2-slope representation of , and the angle at in is insignificant.

  • Suppose has degree two in and has degree two in another block ; see Figure 16 (a). Then has to have a large angle on the outer face in , since otherwise it would not be able to attach to such that is in the outer face of . If the same case applies to , then has to have a large angle in , but not necessarily on the outer face.

  • Suppose has degree two in and has degree one in two other blocks and . Then we first test if admits a 2-slope representation where has a large angle on the outer face; see Figure 16 (b). In this case, both and lie in the outer face of . Otherwise, if has indegree one and outdegree one in , we test whether admits a 2-slope representation where forms a flat angle on the outer face; see Figure 16 (c). We test once such that lies on the outer face of and once for . If neither is possible, then has to be the root. For there are no restrictions under these conditions.

  • The case where (or ) has degree two in and degree one in exactly one other block is similar to the previous case but simpler.

  • Suppose has degree three in ; see Figure 16 (d). Then has to have a flat angle at on the outer face. Otherwise has to be the root. There are again no restrictions for  under these conditions.

Figure 16: Conditions on the angles at and in for block a wrt .

These conditions are clearly necessary and, following Healy and Lynch [HL07], also sufficient. Furthermore, they can easily be tested by the algorithms from the previous sections. More precisely, if has degree two in , then its two incident edges are either merged in the root composition or a series composition. Hence, at this step we only keep those 2-slope representations with the desired angle at . Otherwise, if has degree three in and has to form a flat angle, we take the sole outgoing or sole incoming edge of in as the reference edge for the SPQR-tree. In the root composition we then only allow a merge when there is the desired flat angle at on the outer face.

Result.

The total running time for our algorithm to test whether a general digraph admits a 2-slope representation and thus an upward planar 2-slope drawing is given by (i) a linear amount for the computation of , (ii) the sum of the checks for each block, and (iii) a linear amount for merging. Hence, we get the following results.

Theorem 4.12.

Let be a series-parallel digraph with vertices. There exists an -time algorithm that tests if admits an upward planar 2-slope drawing and, if so, that constructs such a drawing.

Theorem 4.13.

Let be a digraph with vertices. Let be the maximum number of nontrivial triconnected components of a block of , and be the maximum diameter of a split component of a block of . Then there exists an -time algorithm that tests if  admits an upward planar 2-slope drawing and, if so, that constructs such a drawing of .

5 Phylogenetic networks

Recall from Section 1 that a phylogenetic network is a single-source digraph whose sinks are all leaves and whose non-sink, non-source vertices have degree three. In this section we show how to find an upward planar 2-slope drawing of a phylogenetic network  such that its leaves lie on a horizontal line – if  admits such a drawing. Since we want that all leaves are on the outer face, we first merge them into a single vertex and then apply the linear-time algorithm of Bertolazzi et al. [BDBMT98] to test whether the resulting digraph  is upward planar. Clearly,  is upward planar if and only if  admits a desired upward planar embedding. In the affirmative case, let  now be an upward plane phylogenetic network such that its  leaves lie on the outer face. Further assume that  contains no bad edge or, in this case equivalently, no transitive edge.

In Section 3, we constructed an upward planar 2-slope drawing by implementing the refinement step, which augments all faces to rectangular faces, and by applying a compaction algorithm [KKM01]. In order to obtain a drawing where all leaves lie on the same horizontal line, we apply this algorithm to the following augmentation  of . Let  be the leaves of  in clockwise order around the outer face. Add new vertices  and edges  and , ; see Figure 17 (a). Then apply Theorem 3.2 to to obtain an upward planar 2-slope drawing of  in  time.

Figure 17: (a) The augmentation of an upward planar phylogenetic network . (b) An upward planar 2-slope drawing where and have different y-coordinates. (c) The dual flows (red) and (blue). (d) Propagating the length difference of and through .

We observe from Figure 17 (b) that two vertices and of (neighboring leaves of ) have different y-coordinates if and only if and have different lengths. This can be fixed by propagating these length differences through the drawing in the following way (Figure 17 (c–d)). Let be the dual graph of . Furthermore, define and as the two subgraphs of with and where and are the dual edges of primal edges with slope and , respectively. In other words, is the dual graph of restricted to edges with slope . Direct every edge in () with primal edge from the left (right) face of to the right (left) face of . Assign each dual edge as flow the length of its primal edge. Split the vertex corresponding to the outer face of into a source and sinks such that has the incoming edges dual to the edges and ; see Figure 17 (c). These dual graphs can be constructed in linear time.

Next, to adjust the heights of the leaves of , for every pair and , , if, say, is shorter than , propagate the difference as flow backwards towards through ; see Figure 17 (d). With one DFS on and each, all leaves can be handled simultaneously and in linear time. Lastly, since some edge lengths have been changed, update the coordinates of all vertices in and remove the vertices , , to obtain an upward planar 2-slope drawing of . The following theorem summarises this section.

Theorem 5.1.

Let be a phylogenetic network with vertices and no transitive edge. If admits an upward planar drawing with all its leaves on the outer face, then admits and upward planar 2-slope drawing such that all its leaves lie on a horizontal line. Moreover, such a drawing can be constructed in -time.

Note that by Corollary 4.6 a phylogenetic network with transitive edges admits a upward planar 1-bend 2-slope drawing with at most bends.

6 Concluding remarks

When considering the number of slopes in a graph drawing, one typically asks how many different slopes are necessary for a graph of certain graph class. Here we instead constrained the number of slopes to two and asked what digraphs can then be drawn upward planar. Our digraphs are thus limited to those that contain no transitive edges and have a small maximum degree. Beyond that, the difficulty of the problem depends on whether or not an upward planar embedding is given and on the complexity of the digraph.

We have shown that if the embedding is fixed then the question can be answered and, in the affirmative, a drawing constructed in linear time. In this case the problem boils down to whether there is a bad edge for the given embedding and, if not, to adapt algorithms for orthogonal drawings. However, even if there are bad edges present, allowing each of them to bend once is enough to obtain upward planar 1-bend 2-slope drawing with minimum number of bends. We conjecture that it is NP-hard to minimize the drawing area of an upward planar 2-slope drawing just like it is for orthogonal drawings [Pat01]. It would be interesting to see a proof for this and how compaction algorithms for orthogonal drawings can be applied to upward planar drawings.

If a given digraph is not embedded yet, we first have to check whether the digraph is upward planar. For single-source digraph, we have seen that it suffices to find one upward planar embedding, which may then be altered to one without bad edges if it exists. For series-parallel and general digraphs we reused an approach by Didimo et al. [DGL10] based on SPQR-trees and upward spirality to find a quartic time and a fixed-parameter tractable algorithm, respectively. An important difference is that our algorithm does not only compute upward planar embeddings for nodes of the SPQR-tree but also 2-slope representations. Through the degree restrictions the algorithm became simpler and can thus also consider other properties. It would be interesting to see whether the algorithm that computes an upward planar embedding of a single-source digraph can be modified to directly compute a 2-slope representation.

This research was motivated by drawings of phylogenetic networks. While we here assumed that a given phylogenetic network is upward planar, this is not a biologically motivated property of phylogenetic networks. One may argue that phylogenetic networks often have few reticulations (vertices with indegree two or higher), but even just two reticulations suffice to obstruct upward planarity. Hence, it would be interesting to have algorithms that can also draw non-upward planar phylogenetic network with two slopes.

The biggest challenges remain for drawings with more than two slopes. Our feeling is that while the complexity of developing algorithms to draw graphs with two slopes is manageable, three or more slopes increase the geometric interdependence dramatically. While the companion paper by Klawitter and Zink [KZ21] started to investigate this, we would be happy to see more results on upward planar slope numbers of graphs.

[1]ReferencesReferences

References

  • [BBB09] C. Bachmaier, F. J. Brandenburg, W. Brunner, A. Hofmeier, M. Matzeder, and T. Unfried, “Tree drawings on the hexagonal grid,” in Graph Drawing, I. G. Tollis and M. Patrignani, Eds.   Springer, 2009, pp. 372–383.
  • [BBS05] C. Bachmaier, U. Brandes, and B. Schlieper, “Drawing phylogenetic trees,” in Algorithms and Computation, X. Deng and D.-Z. Du, Eds.   Springer, 2005, pp. 1110–1121.
  • [BDBLM94] P. Bertolazzi, G. Di Battista, G. Liotta, and C. Mannino, “Upward drawings of triconnected digraphs,” Algorithmica, vol. 12, no. 6, pp. 476–497, 1994.
  • [BDBMT98] P. Bertolazzi, G. Di Battista, C. Mannino, and R. Tamassia, “Optimal Upward Planarity Testing of Single-Source Digraphs,” SIAM Journal on Computing, vol. 27, no. 1, pp. 132–169, 1998.
  • [BDGD18] M. A. Bekos, E. Di Giacomo, W. Didimo, G. Liotta, and F. Montecchiani, “Universal Slope Sets for Upward Planar Drawings,” in Graph Drawing and Network Visualization, T. Biedl and A. Kerren, Eds.   Springer International Publishing, 2018, pp. 77–91.
  • [BDM12] A. Boc, A. B. Diallo, and V. Makarenkov, “T-REX: a web server for inferring, validating and visualizing phylogenetic trees and networks,” Nucleic Acids Research, vol. 40, no. W1, pp. W573–W579, 2012.
  • [BKM19] G. Brückner, N. D. Krisam, and T. Mchedlidze, “Level-planar drawings with few slopes,” in Graph Drawing and Network Visualization, D. Archambault and C. D. Tóth, Eds., 2019, pp. 559–572.
  • [BM11] W. Brunner and M. Matzeder, “Drawing ordered (k-1)-ary trees on k-grids,” in Graph Drawing, U. Brandes and S. Cornelsen, Eds.   Springer, 2011, pp. 105–116.
  • [BM13] C. Bachmaier and M. Matzeder, “Drawing unordered trees on k-grids,” Journal of Graph Algorithms and Applications, vol. 17, no. 2, pp. 103–128, 2013.
  • [CDP92] P. Crescenzi, G. Di Battista, and A. Piperno, “A note on optimal area algorithms for upward drawings of binary trees,” Computational Geometry, vol. 2, no. 4, pp. 187–200, 1992.
  • [Cha04] H. Chan, “A Parameterized Algorithm for Upward Planarity Testing,” in Algorithms – ESA 2004, S. Albers and T. Radzik, Eds.   Springer, 2004, pp. 157–168.
  • [CPR90] J. Czyzowicz, A. Pelc, and I. Rival, “Drawing orders with few slopes,” Discrete Mathematics, vol. 82, no. 3, pp. 233–250, 1990.
  • [Czy91] J. Czyzowicz, “Lattice diagrams with few slopes,” Journal of Combinatorial Theory, Series A, vol. 56, no. 1, pp. 96–108, 1991.
  • [DBT88] G. Di Battista and R. Tamassia, “Algorithms for plane representations of acyclic digraphs,” Theoretical Computer Science, vol. 61, no. 2, pp. 175–198, 1988.
  • [DBT89] ——, “Incremental planarity testing,” in 30th Annual Symposium on Foundations of Computer Science, 1989, pp. 436–441.
  • [DESW07] V. Dujmović, D. Eppstein, M. Suderman, and D. R. Wood, “Drawings of planar graphs with few slopes and segments,” Computational Geometry, vol. 38, no. 3, pp. 194–212, 2007.
  • [DETT99] G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis, Graph Drawing: Algorithms for the Visualization of Graphs.   Prentice-Hall, 1999.
  • [DGL06] W. Didimo, F. Giordano, and G. Liotta, “Upward Spirality and Upward Planarity Testing,” in Graph Drawing, P. Healy and N. S. Nikolov, Eds.   Springer, 2006, pp. 117–128.
  • [DGL10] ——, “Upward Spirality and Upward Planarity Testing,” SIAM Journal on Discrete Mathematics, vol. 23, no. 4, pp. 1842–1899, 2010.
  • [DGLM18] E. Di Giacomo, G. Liotta, and F. Montecchiani, “Drawing subcubic planar graphs with four slopes and optimal angular resolution,” Theoretical Computer Science, vol. 714, pp. 51–73, 2018.
  • [DGLM20] ——, “1-bend upward planar slope number of SP-digraphs,” Computational Geometry, vol. 90, p. 101628, 2020.
  • [Dun14] M. Dunn, “Language phylogenies,” in The Routledge Handbook of Historical Linguistics, C. Bowern and B. Evans, Eds.   Routledge, 2014, ch. 7.
  • [Epp13] D. Eppstein, “The Complexity of Bendless Three-Dimensional Orthogonal Graph Drawing,” Journal of Graph Algorithms and Applications, vol. 17, no. 1, pp. 35–55, 2013.
  • [GM01] C. Gutwenger and P. Mutzel, “A Linear Time Implementation of SPQR-Trees,” in Graph Drawing, J. Marks, Ed.   Springer, 2001, pp. 77–90.
  • [GT01] A. Garg and R. Tamassia, “On the Computational Complexity of Upward and Rectilinear Planarity Testing,” SIAM Journal on Computing, vol. 31, no. 2, pp. 601–625, 2001.
  • [HB05] D. H. Huson and D. Bryant, “Application of Phylogenetic Networks in Evolutionary Studies,” Molecular Biology and Evolution, vol. 23, no. 2, pp. 254–267, 2005.
  • [HL06] P. Healy and K. Lynch, “Two fixed-parameter tractable algorithms for testing upward planarity,” International Journal of Foundations of Computer Science, vol. 17, no. 05, pp. 1095–1114, 2006.
  • [HL07] P. Healy and K. Lynch, “Building blocks of upward planar digraphs,” Journal of Graph Algorithms and Applications, vol. 11, no. 1, pp. 3–44, 2007.
  • [Hof17] U. Hoffmann, “On the Complexity of the Planar Slope Number Problem,” Journal of Graph Algorithms and Applications, vol. 21, no. 2, pp. 183–193, 2017.
  • [HRS10] D. H. Huson, R. Rupp, and C. Scornavacca, Phylogenetic Networks: Concepts, Algorithms and Applications.   Cambridge University Press, 2010.
  • [HS12] D. H. Huson and C. Scornavacca, “Dendroscope 3: An Interactive Tool for Rooted Phylogenetic Trees and Networks,” Systematic Biology, vol. 61, no. 6, pp. 1061–1067, 2012.
  • [Hus09] D. H. Huson, “Drawing Rooted Phylogenetic Networks,” IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 6, no. 1, pp. 103–109, 2009.
  • [JJK13] V. Jelínek, E. Jelínková, J. Kratochvíl, B. Lidický, M. Tesař, and T. Vyskočil, “The Planar Slope Number of Planar Partial 3-Trees of Bounded Degree,” Graphs and Combinatorics, vol. 29, no. 4, pp. 981–1005, 2013.
  • [KH08] T. H. Kloepper and D. H. Huson, “Drawing explicit phylogenetic networks and their integration into splitstree,” BMC Evolutionary Biology, vol. 8, no. 1, p. 22, 2008.
  • [KKM01] G. W. Klau, K. Klein, and P. Mutzel, “An experimental comparison of orthogonal compaction algorithms,” in Graph Drawing, J. Marks, Ed.   Springer, 2001, pp. 37–51.
  • [KMSS18] P. Kindermann, F. Montecchiani, L. Schlipf, and A. Schulz, “Drawing Subcubic 1-Planar Graphs with Few Bends, Few Slopes, and Large Angles,” in Graph Drawing and Network Visualization, T. Biedl and A. Kerren, Eds.   Springer, 2018, pp. 152–166.
  • [KMW14] K. Knauer, P. Micek, and B. Walczak, “Outerplanar graph drawings with few slopes,” Computational Geometry, vol. 47, no. 5, pp. 614–624, 2014.
  • [KZ21] J. Klawitter and J. Zink, “Upward Planar Drawings with Three Slopes,” CoRR, vol. abs/2103.06801, 2021. [Online]. Available: https://arxiv.org/abs/2103.06801
  • [LLMN13] W. Lenhart, G. Liotta, D. Mondal, and R. I. Nishat, “Planar and Plane Slope Number of Partial 2-Trees,” in Graph Drawing, S. Wismath and A. Wolff, Eds.   Springer, 2013, pp. 412–423.
  • [MP12] P. Mukkamala and D. Pálvölgyi, “Drawing Cubic Graphs with the Four Basic Slopes,” in Graph Drawing, M. van Kreveld and B. Speckmann, Eds.   Springer, 2012, pp. 254–265.
  • [NW11] M. Nöllenburg and A. Wolff, “Drawing and labeling high-quality metro maps by mixed-integer programming,” IEEE Transactions on Visualization and Computer Graphics, vol. 17, no. 5, pp. 626–641, 2011.
  • [Pap95] A. Papakostas, “Upward planarity testing of outerplanar dags,” in Graph Drawing, R. Tamassia and I. G. Tollis, Eds.   Springer, 1995, pp. 298–306.
  • [Pat01] M. Patrignani, “On the complexity of orthogonal compaction,” Computational Geometry, vol. 19, no. 1, pp. 47–67, 2001.
  • [PP06] J. Pach and D. Pálvölgyi, “Bounded-degree graphs can have arbitrarily large slope numbers,” Electronic Journal of Combinatorics, vol. 13, no. 1, p. N1, 2006.
  • [RNN03] M. S. Rahman, M. Naznin, and T. Nishizeki, “Orthogonal Drawings of Plane Graphs Without Bends,” Journal of Graph Algorithms and Applications, vol. 7, no. 4, pp. 335–362, 2003.
  • [Sch15] A. Schulz, “Drawing graphs with few arcs,” Journal of Graph Algorithms and Applications, vol. 19, no. 1, pp. 393–412, 2015.
  • [Ste16] M. Steel, Phylogeny: Discrete and Random Processes in Evolution.   Society for Industrial and Applied Mathematics, 2016.
  • [SVGB21] K. Schliep, M. Vidal-García, L. Biancani, F. H. Diaz, E. Ada, and C. Solís-Lemus, “tanggle: Visualization of phylogenetic networks in a ggplot2 framework,” 2021. [Online]. Available: https://klausvigo.github.io/tanggle/articles/tanggle_vignette.html
  • [Tam87] R. Tamassia, “On Embedding a Graph in the Grid with the Minimum Number of Bends,” SIAM Journal on Computing, vol. 16, no. 3, pp. 421–444, 1987.
  • [Tar72] R. Tarjan, “Depth-first search and linear graph algorithms,” SIAM Journal on Computing, vol. 1, no. 2, pp. 146–160, 1972.
  • [TK16] I. G. Tollis and K. G. Kakoulis, “Algorithms for Visualizing Phylogenetic Networks,” in Graph Drawing and Network Visualization, Y. Hu and M. Nöllenburg, Eds.   Springer, 2016, pp. 183–195.
  • [Vau17] T. G. Vaughan, “IcyTree: rapid browser-based visualization for phylogenetic trees and networks,” Bioinformatics, vol. 33, no. 15, pp. 2392–2394, 2017.
  • [WC94] G. A. Wade and J.-H. Chu, “Drawability of Complete Graphs Using a Minimal Slope Set,” The Computer Journal, vol. 37, no. 2, pp. 139–142, 1994.