Graphic representation of a minute fraction of the WWW, demonstrating hyperlinks.

Graph drawing is an area of mathematics and computer science combining methods from geometric graph theory and information visualization to derive two-dimensional depictions of graphs arising from applications such as social network analysis, cartography, linguistics, and bioinformatics.[1]

A drawing of a graph or network diagram is a pictorial representation of the vertices and edges of a graph. This drawing should not be confused with the graph itself: very different layouts can correspond to the same graph.[2] In the abstract, all that matters is which pairs of vertices are connected by edges. In the concrete, however, the arrangement of these vertices and edges within a drawing affects its understandability, usability, fabrication cost, and aesthetics.[3] The problem gets worse if the graph changes over time by adding and deleting edges (dynamic graph drawing) and the goal is to preserve the user's mental map.[4]

Graphical conventions

Directed graph with arrowheads showing edge directions

Graphs are frequently drawn as node–link diagrams in which the vertices are represented as disks, boxes, or textual labels and the edges are represented as line segments, polylines, or curves in the Euclidean plane.[3] Node–link diagrams can be traced back to the 14th-16th century works of Pseudo-Lull which were published under the name of Ramon Llull, a 13th century polymath. Pseudo-Lull drew diagrams of this type for complete graphs in order to analyze all pairwise combinations among sets of metaphysical concepts.[5]

In the case of directed graphs, arrowheads form a commonly used graphical convention to show their orientation;[2] however, user studies have shown that other conventions such as tapering provide this information more effectively.[6] Upward planar drawing uses the convention that every edge is oriented from a lower vertex to a higher vertex, making arrowheads unnecessary.[7]

Alternative conventions to node–link diagrams include adjacency representations such as circle packings, in which vertices are represented by disjoint regions in the plane and edges are represented by adjacencies between regions; intersection representations in which vertices are represented by non-disjoint geometric objects and edges are represented by their intersections; visibility representations in which vertices are represented by regions in the plane and edges are represented by regions that have an unobstructed line of sight to each other; confluent drawings, in which edges are represented as smooth curves within mathematical train tracks; fabrics, in which nodes are represented as horizontal lines and edges as vertical lines;[8] and visualizations of the adjacency matrix of the graph.

Quality measures

Many different quality measures have been defined for graph drawings, in an attempt to find objective means of evaluating their aesthetics and usability.[9] In addition to guiding the choice between different layout methods for the same graph, some layout methods attempt to directly optimize these measures.

Planar graph drawn without overlapping edges

Layout methods

A force-based network visualization.[13]

There are many different graph layout strategies:

Arc diagram

Application-specific graph drawings

Graphs and graph drawings arising in other areas of application include

In addition, the placement and routing steps of electronic design automation (EDA) are similar in many ways to graph drawing, as is the problem of greedy embedding in distributed computing, and the graph drawing literature includes several results borrowed from the EDA literature. However, these problems also differ in several important ways: for instance, in EDA, area minimization and signal length are more important than aesthetics, and the routing problem in EDA may have more than two terminals per net while the analogous problem in graph drawing generally only involves pairs of vertices for each edge.

Software

A graph drawing interface (Gephi 0.9.1)

Software, systems, and providers of systems for drawing graphs include:

See also

Footnotes

  1. ^ Di Battista et al. (1994), pp. vii–viii; Herman, Melançon & Marshall (2000), Section 1.1, "Typical Application Areas".
  2. ^ a b Di Battista et al. (1994), p. 6.
  3. ^ a b Di Battista et al. (1994), p. viii.
  4. ^ Misue et al. (1995)
  5. ^ Knuth, Donald E. (2013), "Two thousand years of combinatorics", in Wilson, Robin; Watkins, John J. (eds.), Combinatorics: Ancient and Modern, Oxford University Press, pp. 7–37.
  6. ^ Holten & van Wijk (2009); Holten et al. (2011).
  7. ^ Garg & Tamassia (1995).
  8. ^ Longabaugh (2012).
  9. ^ Di Battista et al. (1994), Section 2.1.2, Aesthetics, pp. 14–16; Purchase, Cohen & James (1997).
  10. ^ Di Battista et al. (1994), p 14.
  11. ^ Di Battista et al. (1994), p. 16.
  12. ^ a b Pach & Sharir (2009).
  13. ^ Published in Grandjean, Martin (2014). "La connaissance est un réseau". Les Cahiers du Numérique. 10 (3): 37–54. doi:10.3166/lcn.10.3.37-54. Archived from the original on 2015-06-27. Retrieved 2014-10-15.
  14. ^ Di Battista et al. (1994), Section 2.7, "The Force-Directed Approach", pp. 29–30, and Chapter 10, "Force-Directed Methods", pp. 303–326.
  15. ^ Beckman (1994); Koren (2005).
  16. ^ Di Battista et al. (1994), Chapter 5, "Flow and Orthogonal Drawings", pp. 137–170; (Eiglsperger, Fekete & Klau 2001).
  17. ^ Herman, Melançon & Marshall (2000), Section 2.2, "Traditional Layout – An Overview".
  18. ^ Sugiyama, Tagawa & Toda (1981); Bastert & Matuszewski (2001); Di Battista et al. (1994), Chapter 9, "Layered Drawings of Digraphs", pp. 265–302.
  19. ^ Saaty (1964).
  20. ^ Doğrusöz, Madden & Madden (1997).
  21. ^ Di Battista et al. (1994), Section 4.7, "Dominance Drawings", pp. 112–127.
  22. ^ Scott (2000); Brandes, Freeman & Wagner (2014).
  23. ^ Di Battista et al. (1994), pp. 15–16, and Chapter 6, "Flow and Upward Planarity", pp. 171–214; Freese (2004).
  24. ^ Zapponi (2003).
  25. ^ Anderson & Head (2006).
  26. ^ Di Battista & Rimondini (2014).
  27. ^ Bachmaier, Brandes & Schreiber (2014).
  28. ^ "Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools", by John Ellson, Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Gordon Woodhull, in Jünger & Mutzel (2004).
  29. ^ GraphPlot Archived 2014-02-03 at the Wayback Machine Mathematica documentation
  30. ^ "Graph drawing tutorial". Archived from the original on 2013-09-12. Retrieved 2012-09-27.
  31. ^ Nachmanson, Robertson & Lee (2008).
  32. ^ "Tulip – A Huge Graph Visualization Framework", by David Auber, in Jünger & Mutzel (2004).
  33. ^ "yFiles – Visualization and Automatic Layout of Graphs", by Roland Wiese, Markus Eiglsperger, and Michael Kaufmann, in Jünger & Mutzel (2004).
  34. ^ Tantau (2013); see also the older GD 2012 presentation Archived 2016-05-27 at the Wayback Machine

References

Specialized subtopics
This 'further reading' section may need cleanup. Please read the editing guide and help improve the section. (November 2022) (Learn how and when to remove this template message)