Friday, March 5, 2010

Graph drawing

Jump to: navigation, search
Graphic representation of a minute fraction of the WWW, demonstrating hyperlinks

Graph drawing or Graph layout, as a branch of graph theory, applies topology and geometry to derive two-dimensional representations of graphs. A drawing of a graph is basically a pictorial representation of an embedding of the graph in the plane, usually aimed at a convenient visualization of certain properties of the graph in question or of the object modeled by the graph.

Graph drawing is motivated by applications such as VLSI circuit design, social network analysis, cartography, and bioinformatics, many of which make use of information visualization.

Contents

[hide]
  • 1 Overview
  • 2 Metrics
  • 3 Types of graph drawing
  • 4 See also
  • 5 References
  • 6 External links

[edit] Overview

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

[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)

There is no "best" layout of the drawing of a graph — 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] Types of graph drawing

  • Hasse diagram, a type of graph drawing specialized to partial orders
  • Dessin d'enfant, a type of graph drawing used in algebraic geometry
  • State diagrams, graphical representations of finite state machines

[edit] See also

  • Graphviz, an open-source graph drawing system from AT&T
  • Routing, a graph-drawing-like step in the design of integrated circuits
  • International Symposium on Graph Drawing
  • Microsoft Automatic Graph Layout, a .NET library for layouting graphs

[edit] References

  • Di Battista, Giuseppe; Eades, Peter; Tamassia, Roberto; Tollis, Ioannis G. (1994), "Algorithms for Drawing Graphs: an Annotated Bibliography", Computational Geometry: Theory and Applications 4: 235–282, http://www.cs.brown.edu/people/rt/gd.html .
  • Di Battista, Giuseppe; Eades, Peter; Tamassia, Roberto; Tollis, Ioannis G. (1998), Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, ISBN 9780133016154 .
  • Herman, Ivan; Melançon, Guy; Marshall, M. Scott (2000), "Graph Visualization and Navigation in Information Visualization: A Survey", IEEE Transactions on Visualization and Computer Graphics 6: 24–43, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.8892 .
  • Jünger, Michael; Mutzel, Petra (2004), Graph Drawing Software, Springer-Verlag, ISBN 9783540008811 .

No comments:

Post a Comment