Graph drawing

From Wikipedia, the free encyclopedia

As a branch of graph theory, Graph drawing applies topology and geometry to derive two- and three-dimensional representations of graphs. Graph drawing is motivated by applications such as VLSI circuit design, social network analysis, cartography, and bioinformatics.

Contents

[edit] Methods

Graphs are usually represented pictorially using dots to represent vertices, and arcs to represent the edges between connected vertices. Arrows can be used to show the orientation of directed edges. Note that this graphical representation (a graph layout or an embedding) should not be confused with the graph itself (the abstract, non-graphical structure). Very different layouts can correspond to the same graph. In the abstract, all that matters is which vertices are connected to which others by how many edges. In the concrete, however, the arrangement of these vertices and edges impacts understandability, usability, fabrication cost, and aesthetics.

Based on these concepts and caveats, there are different graph layout strategies, such as:

  • force-based layout: gradient-descent minimization of an energy function based on physical metaphors related to molecular mechanics.
  • spectral layout: layout using as coordinates the eigenvectors of a matrix such as the Laplacian derived from the adjacency matrix of the graph.
  • orthogonal layout: layout with edges running horizontally or vertically, with approaches that reduce the number of edge crossovers and area covered. These are of great interest in the areas of VLSI and PCB layout design
  • symmetric layout: these attempt to find symmetry groups within the graph
  • tree layout: these show a rooted tree-like formation, suitable for trees (i.e., graphs without cycles)
  • hierarchical layouts: these attempt to find a source and sink within a directed graph and arrange the nodes in layers with most edges starting from the source and flowing in the direction of the sink

In some applications of graph drawing it is important to formally specify, implement, and verify such procedures.

[edit] Metrics

K4 (the complete graph with 4 vertices) can be drawn with or without overlapping edges (move one of the corners inside the triangle formed by the other three corners)
K4 (the complete graph with 4 vertices) can be drawn with or without overlapping edges (move one of the corners inside the triangle formed by the other three corners)

There is no "best" layout — different ways of displaying a graph emphasize different characteristics. One measure of a graph drawing algorithm's quality is the number of edge crossings it draws. While some graphs cannot be drawn without edge crossings, some graphs can. These are called planar graphs. According to this metric, "good" algorithms draw graphs with as few edge crossings as possible.

Another possible measure is the closeness of vertices, many graphs look better if non-adjacent vertices are not plotted close to each other. A further measure is the nearness of a vertex to a non-adjacent edge, this distance needs to be sufficiently big for an aesthetically pleasing appearance.

[edit] See also

[edit] References

  • Giuseppe Di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1999.
  • Giuseppe Di Battista, Peter Eades, Roberto Tamassia, Ioannis G. Tollis. Algorithms for Drawing Graphs: an Annotated Bibliography. Computational Geometry: Theory and Applications 4:235-282 (1994). http://www.cs.brown.edu/people/rt/gd.html
  • Isabel F. Cruz, Roberto Tamassia. Graph Drawing Tutorial. http://www.cs.brown.edu/people/rt/gd.html

[edit] External links

The following graph drawing web sites are particularly notable:

See Graph drawing at the Open Directory Project for many additional links related to graph drawing.