Confluent Drawings: Visualizing Non-planar Diagrams in a Planar Way

  • Matthew Dickerson
  • David Eppstein
  • Michael T. Goodrich
  • Jeremy Yu Meng
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2912)


We introduce a new approach for drawing diagrams. Our approach is to use a technique we call confluent drawing for visualizing non-planar graphs in a planar way. This approach allows us to draw, in a crossing-free manner, graphs—such as software interaction diagrams—that would normally have many crossings. The main idea of this approach is quite simple: we allow groups of edges to be merged together and drawn as “tracks” (similar to train tracks). Producing such confluent diagrams automatically from a graph with many crossings is quite challenging, however, so we offer two heuristic algorithms to test if a non-planar graph can be drawn efficiently in a confluent way. In addition, we identify several large classes of graphs that can be completely categorized as being either confluently drawable or confluently non-drawable.


  1. 1.
    Ball, T., Eick, S.G.: Software visualization in the large. IEEE Computer 29(4), 33–43 (1996)Google Scholar
  2. 2.
    Batini, C., Nardelli, E., Tamassia, R.: A layout algorithm for data flow diagrams. IEEE Trans. Softw. Eng. SE-12(4), 538–546 (1986)Google Scholar
  3. 3.
    Bondy, J.A., Murty, U.S.R.: Graph Theory with Applications. Macmillan, London (1976)Google Scholar
  4. 4.
    Breu, R., Hinkel, U., Hofmann, C., Klein, C., Paech, B., Rumpe, B., Thurner, V.: Towards a formalization of the unified modeling language. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 344–366. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  5. 5.
    Chambers, C., Dean, J., Grove, D.: A framework for selective recompilation in the presence of complex intermodule dependencies. In: Proceedings: 17th International Conference on Software Engineering, pp. 221–230 (1995)Google Scholar
  6. 6.
    Cheng, C.C., Duncan, C.A., Goodrich, M.T., Kobourov, S.G.: Drawing planar graphs with circular arcs. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 117–126. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Chiba, N., Nishizeki, T.: Arboricity and subgraph listing algorithms. SIAM J. Comput. 14, 210–223 (1985)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Chiba, N., Nishizeki, T., Abe, S., Ozawa, T.: A linear algorithm for embedding planar graphs using PQ-trees. J. Comput. Syst. Sci. 30(1), 54–76 (1985)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Chrobak, M., Payne, T.H.: A linear time algorithm for drawing a planar graph on a grid. Technical Report UCR-CS-90-2, Dept. of Math. and Comput. Sci., Univ. California Riverside (1990)Google Scholar
  10. 10.
    Corneil, D.G., Lerchs, H., Burlingham, L.S.: Complement reducible graphs. Discrete Appl. Math. 3, 163–174 (1981)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    de Fraysseix, H., Pach, J., Pollack, R.: How to draw a planar graph on a grid. Combinatorica 10(1), 41–51 (1990)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Di Battista, G., Eades, P., Tamassia, R., Tollis, I.G.: Graph Drawing. Prentice Hall, Upper Saddle River (1999)MATHGoogle Scholar
  13. 13.
    Eades, P., Mutzel, P.: Graph drawing algorithms. In: Atallah, M. (ed.) CRC Handbook of Algorithms and Theory of Computation. ch. 9, CRC Press, Boca Raton (1999)Google Scholar
  14. 14.
    Eppstein, D.: Arboricity and bipartite subgraph listing algorithms. Information Processing Letters 51(4), 207–211 (1994)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Feder, T., Meyerson, A., Motwani, R., O’Callaghan, L., Panigrahy, R.: Representing graph metrics with fewest edges. In: Alt, H., Habib, M. (eds.) STACS 2003. LNCS, vol. 2607, pp. 355–366. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Garey, M.R., Johnson, D.S.: Crossing number is NP-complete. SIAM J. Algebraic Discrete Methods 4(3), 312–316 (1983)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Grove, D., DeFouw, G., Dean, J., Chambers, C.: Call graph construction in object-oriented languages. In: Proc. of ACM Symp. on Object-Oriented Prog. Sys., Lang. and Applications (OOPSLA), pp. 108–124 (1997)Google Scholar
  18. 18.
    Haynes, P., Menzies, T.J., Cohen, R.F.: Visualisations of large object-oriented systems. In: Eades, P.D., Zhang, K. (eds.) Software Visualisation, vol. 7, pp. 205–218. World Scientific, Singapore (1996)CrossRefGoogle Scholar
  19. 19.
    Jünger, M., Lee, E.K., Mutzel, P., Odenthal, T.: A polyhedral approach to the multi-layer crossing minimization problem. In: DiBattista, G. (ed.) GD 1997. LNCS, vol. 1353, pp. 13–24. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  20. 20.
    Jünger, M., Mutzel, P.: 2-layer straightline crossing minimization: Performance of exact and heuristic algorithms. J. Graph Algorithms Appl. 1(1), 1–25 (1997)MathSciNetMATHGoogle Scholar
  21. 21.
    Kant, G.: Drawing planar graphs using the canonical ordering. Algorithmica 16, 4–32 (1996); Di Battista, G., Tamassia, R.(ed.): special issue on Graph DrawingMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Kaufmann, M., Wagner, D.: Drawing Graphs: Methods and Models. LNCS, vol. 2025. Springer, Heidelberg (2001)MATHCrossRefGoogle Scholar
  23. 23.
    Knuth, D.E.: Computer drawn flowcharts. Commun. ACM 6 (1963)Google Scholar
  24. 24.
    Lin, X.: On the computational complexity of edge concentration. DAMATH: Discrete Applied Mathematics and Combinatorial Operational Research, 101 (2000)Google Scholar
  25. 25.
    Mutzel, P.: An alternative method to crossing minimization on hierarchical graphs. In: North, S.C. (ed.) GD 1996. LNCS, vol. 1190, pp. 318–333. Springer, Heidelberg (1997)Google Scholar
  26. 26.
    Mutzel, P., Zeigler, T.: The constrained crossing minimization problem. In: Kratochvíl, J. (ed.) GD 1999. LNCS, vol. 1731, pp. 175–185. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  27. 27.
    Newbery, F.J.: Edge concentration: A method for clustering directed graphs. In: Proc. 2nd Internat. Workshop on Software Configuration Management, pp. 76–85 (1989)Google Scholar
  28. 28.
    Nishizeki, T., Chiba, N.: Planar Graphs: Theory and Algorithms. Ann. Discrete Math., vol. 32. North-Holland, Amsterdam (1988)MATHGoogle Scholar
  29. 29.
    Penner, R.C., Harer, J.L.: Combinatorics of Train Tracks. Annals of Mathematics Studies, vol. 125. Princeton Univ. Press, Princeton (1992)MATHGoogle Scholar
  30. 30.
    Price, B., Baecker, R., Small, I.: A principled taxonomy of software visualization. Journal of Visual Languages and Computing 4(3), 211–266 (1993)CrossRefGoogle Scholar
  31. 31.
    Purchase, H.: Which aesthetic has the greatest effect on human understanding. In: Di Battista, G. (ed.) GD 1997. LNCS, vol. 1353, pp. 248–261. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  32. 32.
    Roman, G.-C., Cox, K.C.: A taxonomy of program visualization systems. IEEE Computer 26(12), 11–24 (1993)Google Scholar
  33. 33.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1998)Google Scholar
  34. 34.
    Schnyder, W.: Embedding planar graphs on the grid. In: Proc. 1st ACM-SIAM Sympos. Discrete Algorithms, pp. 138–148 (1990)Google Scholar
  35. 35.
    Stasko, J.T., Kraemer, E.: A methodology for building application-specific visualizations of parallel programs. Journal of Parallel and Distributed Computing 18(2), 258–264 (1993)CrossRefGoogle Scholar
  36. 36.
    Tamassia, R., Tollis, I.G.: Planar grid embedding in linear time. IEEE Trans. Circuits Syst. CAS-36(9), 1230–1234 (1989)CrossRefMathSciNetGoogle Scholar
  37. 37.
    Tip, F., Palsberg, J.: Scalable propagation-based call graph construction algorithms. ACM SIGPLAN Notices 35(10), 281–293 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Matthew Dickerson
    • 1
  • David Eppstein
    • 2
  • Michael T. Goodrich
    • 2
  • Jeremy Yu Meng
    • 2
  1. 1.Middlebury CollegeMiddleburyUSA
  2. 2.University of California, IrvineIrvineUSA

Personalised recommendations