This Article 
 Bibliographic References 
 Add to: 
A Technique for Drawing Directed Graphs
March 1993 (vol. 19 no. 3)
pp. 214-230

A four-pass algorithm for drawing directed graphs is presented. The fist pass finds an optimal rank assignment using a network simplex algorithm. The seconds 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 creates good drawings and is fast.

[1] E. Gansner, S. C. North, and K. P. Vo, "DAG--A program that draws directed graphs."Software--Practice and Experience, vol. 18, no. 11, pp. 1047-1062, Nov. 1988.
[2] R. Tamassia and P. Eades, "Algorithms for Drawing Graphs: An Annotated Bibliography,"Tech. Report CS-89-09, Computer Science Dept., Brown Univ., Providence, R.I., 1989.
[3] J. Warfield, "Crossing theory and hierarchy mapping,"IEEE Trans. Syst. Man Cybern., vol. SMC-7 no. 7, pp. 505-523, July 1977.
[4] M. Carpano, "Automatic display of hierarchized graphs for computer aided decision analysis,"IEEE Trans. Software Eng., vol. SE-12, no. 4, pp. 538-546, 1980.
[5] K. S. Sugiyama, S. Tagawa, and M. Toda, "Methods for visual understanding of hierarchical system structures,"IEEE Trans. Syst. Man, Cybern, vol. SMC-11, no. 2, pp. 109-125, Feb. 1981.
[6] G. Di Battista, and R. Tamassia, "Algorithms for plane representations of acyclic digraphs,"Theoretical Computer Sci.vol. 61, pp. 175-198, 1988.
[7] E. Koutsofios and S. North, "Drawing graphs with dot," Tech. Rep. (available from the authors), AT&T Bell Laboratories, Murray Hill, NJ, 1992.
[8] L. Rowe, M. Davis, E. Messenger, C. Meyer, C. Spirakas, and A. Tuan, "A browser for directed graphs,"Software--Practice and Experience, vol. 17, pp. 61-76, Jan. 1987.
[9] A. V. Aho, J. E. Hopcroft, and J. D. Ullman,The Design and Analysis of Computer Algorithms. Menlo Park, CA: Addison-Wesley, 1974.
[10] P. Eades, B. McKay, and N. Wormald, "On an edge crossing problem," inProc. 9th Australian Computer Science Conf., 1986, pp. 327-334.
[11] R. Garey, and D. S. Johnson,Computers and Intractability. San Francisco: W. H. Freeman, 1979.
[12] G. Robbins, "The ISI grapher, a portable tool for displaying graphs pictorially,"Symboliikka '87, Helsinki, Finland, also Tech. Rep. IST/RS- 87-196, Information Sciences Institute, Marina Del Rey, CA.
[13] A. V. Goldberg, and R. E. Tarjan, "Finding minimum-cost circulations by successive approximation,"Mathematics of Operations Res., vol. 15, no. 3, pp. 430-466, 1990.
[14] E. R. Gansner, S. C. North, and K.-P. Vo, "On the rank assignment problem," to be submitted.
[15] V. Chvatal,Linear Programming. New York: W. H. Freeman, 1983.
[16] W. H. Cunningham, "A network simplex method,"Mathematical Programming, vol. 11, pp. 105-116, 1976.
[17] P. Eades and N. Wormald, "The median heuristic for drawing 2-layers networks," Tech. Rep. 69, Dept. of Computer Science, University of Queensland, 1986.
[18] S. Suri, "A linear time algorithm for minimum link paths inside a simple polygon,"Computer Vision, Graphics, and Image Processing, vol. 35, pp. 99-110, 1986.
[19] A. S. Glassner Ed.,Graphics Gems. San Diego: Academic Press, 1990.
[20] H. Freeman and J. Ahn, "On the problem of placing names in a geographic map,"Int. J. Pattern Recogn. and Artificial Intell., vol. 1, no. 1, pp. 121-140, 1987.

Index Terms:
directed graphs; four-pass algorithm; optimal rank assignment; network simplex algorithm; vertex order; iterative heuristic; novel weight function; local transpositions; optimal coordinates; auxiliary graph; splines; computer graphics; directed graphs; optimisation; splines (mathematics)
E.R. Gansner, E. Koutsofios, S.C. North, K.-P. Vo, "A Technique for Drawing Directed Graphs," IEEE Transactions on Software Engineering, vol. 19, no. 3, pp. 214-230, March 1993, doi:10.1109/32.221135
Usage of this product signifies your acceptance of the Terms of Use.