## A Technique for Drawing Directed Graphs (1993)

### Cached

### Download Links

Venue: | IEEE Transactions on Software Engineering |

Citations: | 220 - 19 self |

### BibTeX

@ARTICLE{Gansner93atechnique,

author = {Emden R. Gansner and Eleftherios Koutsofios and Stephen C. North and Kiem-phong Vo},

title = {A Technique for Drawing Directed Graphs},

journal = {IEEE Transactions on Software Engineering},

year = {1993},

volume = {19},

pages = {214--230}

}

### Years of Citing Articles

### OpenURL

### Abstract

We describe a four-pass algorithm for drawing directed graphs. The first pass finds an optimal rank assignment using a network simplex algorithm. The second pass sets the vertex order within ranks by an iterative heuristic incorporating a novel weight function and local transpositions to reduce crossings. The third pass finds optimal coordinates for nodes by constructing and ranking an auxiliary graph. The fourth pass makes splines to draw edges. The algorithm makes good drawings and runs fast. 1. Introduction Drawing abstract graphs is a topic of ongoing research, having such applications as visualization of programs and data structures, and document preparation. This paper describes a technique for drawing directed graphs in the plane. The goal is to make high-quality drawings quickly enough for interactive use. These algorithms are the basis of a practical implementation [GNV1]. 1.1 Aesthetic criteria To make drawings, it helps to assume that a directed graph has an overall...

### Citations

2438 | The Design and Analysis of Computer Algorithms - Aho, Hopcroft, et al. - 1974 |

992 | Depth first search and linear graph algorithms - Tarjan - 1972 |

648 | A polynomial-time algorithm for linear programming - Karmarkar - 1984 |

375 | A polynomial algorithm in linear programming - Khachiyan - 1979 |

343 |
Method for visual understanding of hierarchical system structures
- Sugiyama, Tagawa, et al.
- 1981
(Show Context)
Citation Context ... Related work Drawing digraphs using an iterative method to reduce edge crossing was first studied by Warfield [Wa], and similar methods were discovered by Carpano [Ca] and Sugiyama, Tagawa, and Toda =-=[STT]-=-. Di Battista and Tamassia describe an algorithm for embedding planar acyclic digraphs such that all edges flow in the same direction [DT]. We view our work as building on the approach of Warfield and... |

61 |
Algorithms for plane representations of acyclic digraphs
- Battista, Tamassia
- 1988
(Show Context)
Citation Context ... were discovered by Carpano [4] and Sugiyama, Tagawa, and Toda [5]. Di Battista and Tamassia describe an algorithm for embedding planar acyclic digraphs such that all edges flow in the same direction =-=[6]-=-. We view our work as building on the approach of Warfield et al. D. Overview The graph-drawing algorithm has four passes, as shown in Fig. 1. The first pass places the nodes in discrete ranks. The se... |

57 | Computer Graphics Gems - Glassner, editor - 1990 |

49 | DAG { a program that draws directed graphs
- Gansner, North, et al.
- 1988
(Show Context)
Citation Context ...cribes a technique for drawing directed graphs in the plane. The goal is to make high-quality drawings quickly enough for interactive use. These algorithms are the basis of a practical implementation =-=[l]-=-. A. Aesthetic Criteria To make drawings, it helps to assume that a directed graph has an overall flow or direction, such as top to bottom (assumed in most examples in this paper) or left to right. Su... |

48 |
Finding Minimum-Cost Circulations by Successive Approximation
- Goldberg, Tarjan
- 1990
(Show Context)
Citation Context ...eger one in polynomial time. Another involves converting the optimal rank assignment problem to an equivalent min-cost flow or circulation problem, for which there are polynomial-time algorithms (see =-=[GT]-=- and its references). As the constraint matrix is unimodular, the problem can also be solved, though not necessarily in polynomial time, by applying the simplex method. A more complete discussion of t... |

47 |
Crossing theory and hierarchy mapping
- Warfield
- 1977
(Show Context)
Citation Context ...ul for drawing graphs that have time-lines or for highlighting source and sink nodes. 1.3 Related work Drawing digraphs using an iterative method to reduce edge crossing was first studied by Warfield =-=[Wa]-=-, and similar methods were discovered by Carpano [Ca] and Sugiyama, Tagawa, and Toda [STT]. Di Battista and Tamassia describe an algorithm for embedding planar acyclic digraphs such that all edges flo... |

46 |
Automatic display of hierarchized graphs for computer aided decision analysis
- Carpano
- 1980
(Show Context)
Citation Context ...hlighting source and sink nodes. 1.3 Related work Drawing digraphs using an iterative method to reduce edge crossing was first studied by Warfield [Wa], and similar methods were discovered by Carpano =-=[Ca]-=- and Sugiyama, Tagawa, and Toda [STT]. Di Battista and Tamassia describe an algorithm for embedding planar acyclic digraphs such that all edges flow in the same direction [DT]. We view our work as bui... |

35 |
A browser for directed graphs
- Rowe, Davis, et al.
- 1987
(Show Context)
Citation Context ...king the Graph Acyclic A graph must be to have a consistent rank assignment. Because the input graph may contain cycles, a preprocessing step detects cycles and breaks them by reversing certain edges =-=[8]-=-. Of course, these edges are only reversed 1 IGANSNER et al.: A TECHNIQUE FOR DRAWING DIRECTED GRAPHS 217 internally; arrowheads in the drawing show the original direction. A useful procedure for bre... |

34 |
On an edge crossing problem
- Eades, McKay, et al.
- 1986
(Show Context)
Citation Context ...re broken by this procedure. It seems reasonable to try to reverse a smaller or even minimal set of edges. One difficulty is that finding a minimal set (the “feedback arc set” problem) is NP-complete =-=[lo]-=-, [ll]. More important, this would probably not improve the drawings. We implemented a heuristic to reverse edges that participate in many cycles. The heuristic takes one nontrivial strongly connected... |

31 |
Algorithms for automatic graph drawing: An annotated bibliography
- Eades, Tamassia
- 1989
(Show Context)
Citation Context ...nd rely on heuristics that run quickly and make good layouts in common cases. For a survey of other aesthetic principles, we refer the reader to the annotated bibliography on graph-drawing algorithms =-=[2]-=-. B. Problem Description The input to the drawing algorithm is an attributed graph G = (V, E) possibly containing loops and multiedges. We assume that G is connected, as each connected component can b... |

29 |
A network simplex method
- Cunningham
- 1976
(Show Context)
Citation Context ...ee corresponds to an optimal ranking. For further discussion of the termination of the network simplex algorithm and optimality of the result, the interested reader is referred to the literature [14]-=-=[16]-=-. Fig. 4. describes our version of the network simplex algorithm. Remarks on Fig. 4 2: The function feasible-tree constructs an initial feasible spanning tree. This procedure is described more fully s... |

27 |
A linear time algorithm for minimum link paths inside a simple polygon
- Suri
- 1986
(Show Context)
Citation Context ...not developed it further. If it were important, the shortest path could be found in linear time using convex hulls, and Suri has an algorithm for solving the related problem of finding min-link paths =-=[Su]-=-. 13: generate_spline computes a Bezier spline that approximates the path. This is done using a common technique [Gl]. 14–16: The case where there is only one segment in the path is handled first. spl... |

26 |
The Median Heuristic for Drawing 2-layered Networks
- Eades, Wormald
- 1986
(Show Context)
Citation Context ...s on the preceding rank. Then the vertices in the- 12 - rank are re-ordered by sorting on these weights. Two common vertex weighting methods are the barycenter function [STT] and the median function =-=[EW]-=-. Let v be a vertex and P the list of positions of its incident vertices on the appropriate adjacent rank. Note that the position of an adjacent node is only its ordinal number in the current ordering... |

19 |
On the problem of placing names in a geographic map
- Freeman, Ahn
- 1984
(Show Context)
Citation Context ...placement of labels in diagrams (such as geographic maps) is a difficult research problem deserving further study. It is worth remarking that the label placing program as described by Freeman and Ahn =-=[FA]-=- is larger than our whole graph drawing program. S($end) SS(S) LR_1 LR_3 LR_0 SS(B) S(b) S(b) SS(b) LR_6 S(a) S(a) S(a) LR_8 LR_2 SS(a) LR_5 S(a) S(A) S(b) S(b) LR_4 LR_7 Figure 5-5. A finite state ma... |

2 | Drawing graphs with dot,’’ technical report (available from the authors - Koutsofios, North - 1992 |

2 | The IS1 grapher, a portable tool for displaying graphs pictorially,” Symboliikka ’87 - Robbins |

1 |
On an Edge Crossing
- Eades, McKay, et al.
- 1986
(Show Context)
Citation Context ... into forward edges, all cycles are broken by this heuristic. It seems reasonable to try to reverse a smaller or even minimal set of edges. One difficulty is that finding a minimal set is NP-complete =-=[EMW]-=- [GJ]. More important, this would probably not improve the drawings. We implemented a heuristic to reverse edges that participate in many cycles. The heuristic takes one non-trivial strongly connected... |

1 |
Graphics Gems (editor
- Glassner
- 1990
(Show Context)
Citation Context ...nd Suri has an algorithm for solving the related problem of finding min-link paths [Su]. 13: generate_spline computes a Bezier spline that approximates the path. This is done using a common technique =-=[Gl]-=-. 14–16: The case where there is only one segment in the path is handled first. spline_fits checks if the spline lies entirely inside the region. The spline is sampled along its length and these sampl... |

1 | The ISI grapher, a portable tool for diplaying graphs pictorially,’’ Symboliikka ’87 - Robbins |

1 |
Crossing theory and hierarchy mapping,” fEEE Trans
- Warfield
- 1977
(Show Context)
Citation Context ...odes that must be placed together on the maximum, minimum, or same rank, respectively. C. Related Work Drawing digraphs using an iterative method to reduce edge crossing was first studied by Warfield =-=[3]-=-, and similar methods were discovered by Carpano [4] and Sugiyama, Tagawa, and Toda [5]. Di Battista and Tamassia describe an algorithm for embedding planar acyclic digraphs such that all edges flow i... |

1 |
Drawing graphs with dot,” Tech. Rep. (available from the authors
- Koutsofios, North
- 1992
(Show Context)
Citation Context ...d for setting spline control points. Techniques 1) and 2) were first implemented in the graph drawing program dag , described in [l]. Further work, especially 3) and 4), have been incorporated in dot =-=[7]-=-, a successor to dag. Figs. 2 and 3 are samples of dot’s output with the corresponding input files. 11. OPTIMAL RANK ASSIGNMENT The first pass assigns each node UEG to an integer rank X(v) consistent ... |

1 |
On the rank assignment problem
- Gansner, North, et al.
(Show Context)
Citation Context ...lly unimodular, the problem can also be solved, though not necessarily in polynomial time, by applying the simplex method. A more complete discussion of these and other techniques will be reported in =-=[14]-=-. C. Network Simplex Here, we describe a simple approach to the problem based on a network simplex formulation [15]. Although its time complexity has not been proven polynomial, in practice it takes f... |

1 | On the problem of placing names in a geographic map,” fnt - Freeman, Ahn - 1987 |