Circular layout

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Incremental construction of a circular layout for the Barabási–Albert model of social network formation

In graph drawing, a circular layout is a style of drawing that places the vertices of a graph on a circle, often evenly spaced so that they form the vertices of a regular polygon.

Applications

Circular layouts are a good fit for communications network topologies such as star or ring networks,[1] and for the cyclic parts of metabolic networks.[2] For graphs with a known Hamiltonian cycle, a circular layout allows the cycle to be depicted as the circle, and in this way circular layouts form the basis of the LCF notation for Hamiltonian cubic graphs.[3]

A circular layout may be used on its own for an entire graph drawing, but it also may be used as the layout for smaller clusters of vertices within a larger graph drawing, such as its biconnected components,[4] clusters of genes in a gene interaction graph,[5] or natural subgroups within a social network.[6] If multiple vertex circles are used in this way, other methods such as force-directed graph drawing may be used to arrange the clusters.[7]

One advantage of a circular layout in some of these applications, such as bioinformatics or social network visualization, is its neutrality:[8] by placing all vertices at equal distances from each other and from the center of the drawing, none is given a privileged position, countering the tendency of viewers to perceive more centrally located nodes as being more important.[9]

Edge style

The edges of the drawing may be depicted as chords of the circle,[10] as circular arcs[11] (possibly perpendicular to the vertex circle, so that the edges model lines of the Poincaré disk model of hyperbolic geometry), or as other types of curve.[12]

The visual distinction between the inside and the outside of the vertex circle in a circular layout may be used to separate two different styles of edge drawing. For instance, a circular drawing algorithm of Gansner & Koren (2007) uses edge bundling within the circle, together with some edges that are not bundled, drawn outside the circle.[12]

For circular layouts of regular graphs, with edges drawn both inside and outside as circular arcs, the angle of incidence of one of these arcs with the vertex circle is the same at both ends of the arc, a property that simplifies the optimization of the angular resolution of the drawing.[11]

Number of crossings

Several authors have studied the problem of finding a permutation of the vertices of a circular layout that minimizes the number of edge crossings when all edges are drawn inside the vertex circle. This number of crossings is zero only for outerplanar graphs.[13] For other graphs, it may be optimized or reduced separately for each biconnected component of the graph before combining the solutions, as these components may be drawn so that they do not interact.[14]

In general, minimizing the number of crossings is NP-complete,[15] but may be approximated with an approximation ratio of O(log2 n) where n is the number of vertices.[16] Heuristic methods for reducing the crossing complexity have also been devised, based e.g. on a careful vertex insertion order and on local optimization.[17]

A circular layout may also be used to maximize the number of crossings. In particular, choosing a random permutation for the vertices causes each possible crossing to occur with probability 1/3, so the expected number of crossings is within a factor of three of the maximum number of crossings among all possible layouts. Derandomizing this method gives a deterministic approximation algorithm with approximation ratio three.[18]

Other optimization criteria

Along with crossings, circular versions of problems of optimizing the lengths of edges in a circular layout, the angular resolution of the crossings, or the cutwidth (the maximum number of edges that connects one arc of the circle to the opposite arc) have also been considered,[19] but many of these problems are NP-complete.[20]

See also

  • Chord diagram, a closely related concept in information visualization
  • Planarity, a puzzle in which a player must move vertices to untangle a drawing of a planar graph, starting from a randomized circular layout

Notes

References

  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found.. As cited by Baur & Brandes (2005).
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..
  • Lua error in package.lua at line 80: module 'strict' not found..