This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Drawing Directed Graphs Using Quadratic Programming
July/August 2006 (vol. 12 no. 4)
pp. 536-548

Abstract—We describe a new method for visualization of directed graphs. The method combines constraint programming techniques with a high performance force-directed placement (FDP) algorithm. The resulting placements highlight hierarchy in directed graphs while retaining useful properties of FDP; such as emphasis of symmetries and preservation of proximity relations. Our algorithm automatically identifies those parts of the digraph that contain hierarchical information and draws them accordingly. Additionally, those parts that do not contain hierarchy are drawn at the same quality expected from a nonhierarchical, undirected layout algorithm. Our experiments show that this new approach is better able to convey the structure of large digraphs than the most widely used hierarchical graph-drawing method. An interesting application of our algorithm is directional multidimensional scaling (DMDS). DMDS deals with low-dimensional embedding of multivariate data where we want to emphasize the overall flow in the data (e.g., chronological progress) along one of the axes.

[1] R. Boisvert, R. Pozo, K. Remington, R. Barrett, and J. Dongarra, “The Matrix Market: A Web Resource for Test Matrix Collections,” Quality of Numerical Software, Assessment and Enhancement, pp. 125-137, Chapman Hall, 1997.
[2] I. Borg and P. Groenen, Modern Multidimensional Scaling: Theory and Applications. Springer, 1997.
[3] L. Carmel, D. Harel, and Y. Koren, “Combining Hierarchy and Energy for Drawing Directed Graphs,” IEEE Trans. Visualization and Computer Graphics, vol. 10, pp. 46-57, 2004.
[4] J.D. Cohen, “Drawing Graphs to Convey Proximity: an Incremental Arrangement Method,” ACM Trans. Computer-Human Interaction, vol. 4, pp. 197-229, 1997.
[5] G. Di Battista, P. Eades, R. Tamassia, and I.G. Tollis, Graph Drawing: Algorithms for the Visualization of Graphs. Prentice-Hall, 1999.
[6] T. Dwyer and Y. Koren, “Dig-CoLa: Directed Graph Layout through Constrained Energy Minimization,” Proc. IEEE Symp. Information Visualization (Infovis '05), pp. 65-72, 2005.
[7] T. Dwyer, Y. Koren, and K. Marriott, “Stress Majorization with Orthogonal Ordering Constraints,” Proc. 13th Int'l Symp. Graph Drawing (GD '05), 2005.
[8] E. Gansner, E. Koutsofios, S. North, and K.-P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Trans. Software Eng., vol. 19, pp. 214-230, 1993.
[9] E. Gansner and S. North, “An Open Graph Visualization System and Its Applications to Software Engineering,” Software Practice & Experience, vol. 30, pp. 1203-1233, 2000, .
[10] E. Gansner, Y. Koren, and S. North, “Graph Drawing by Stress Majorization,” Proc. 12th Int'l Symp. Graph Drawing (GD '04), pp. 239-250, 2004.
[11] G.H. Golub and C.F. Van Loan, Matrix Computations. Johns Hopkins Univ. Press, 1996.
[12] W. He and K. Marriott, “Constrained Graph Layout,” Constraints, vol. 3, pp. 289-314, 1998.
[13] K. Jain and R.C. Dubes, Algorithms for Clustering Data. Englewood Cliffs, N.J.: Prentice Hall, 1988.
[14] M. Jünger and P. Mutzel, “Exact and Heuristic Algorithms for 2-Layer Straight Line Crossing Minimization,” Proc. Third Int'l Symp. Graph Drawing (GD '95), pp. 337-348, 1995.
[15] T. Kamada and S. Kawai, “An Algorithm for Drawing General Undirected Graphs,” Information Processing Letters, vol. 31, pp. 7-15, 1989.
[16] T. Kamps, J. Kleinz, and J. Read, “Constraint-Based Spring-Model Algorithm for Graph Layout,” Proc. Third Int'l Symp. Graph Drawing (GD '95), pp. 349-360, 1995.
[17] Drawing Graphs: Methods and Models, M. Kaufmann and D. Wagner, eds., LNCS 2025, Springer, 2001.
[18] Y. Koren and D. Harel, “One Dimensional Layout Optimization, with Applications to Graph Drawing by Axis Separation,” Computational Geometry: Theory and Applications, Elsevier, in press.
[19] K. Marriott, P. Moulder, L. Hope, and C. Twardy, “Layout of Bayesian Networks,” Proc. 28th Australasian Computer Science Conf. (ACSC '05), pp. 97-106, 2005.
[20] J. Nocedal and S.J. Wright, Numerical Optimization. Springer, 1999.
[21] K. Sugiyama and K. Misue, “A Simple and Unified Method for Drawing Graphs: Magnetic-Spring Algorithm,” Proc. Second Int'l Symp. Graph Drawing (GD '94), pp. 364-375, 1995.
[22] K. Sugiyama, S. Tagawa, and M. Toda, “Methods for Visual Understanding of Hierarchical Systems,” IEEE Trans. Systems, Man, and Cybernetics, vol. 11, pp. 109-125, 1981.
[23] MOSEK, www.graphviz.orgwww.mosek.com, 2006.
[24] AT&T Graphs, www.graphdrawing.org/dataindex.html, 2006.
[25] ILOG CPLEX, www.ilog.com/productscplex, 2006.
[26] Cereals data, lib.stat.cmu.edu/DASL/DatafilesCereals.html , 2006.

Index Terms:
Directed graphs, graph drawing, hierarchy, force directed algorithms, majorization, quadratic programming.
Citation:
Tim Dwyer, Yehuda Koren, Kim Marriott, "Drawing Directed Graphs Using Quadratic Programming," IEEE Transactions on Visualization and Computer Graphics, vol. 12, no. 4, pp. 536-548, July-Aug. 2006, doi:10.1109/TVCG.2006.67
Usage of this product signifies your acceptance of the Terms of Use.