layout {RBGL} | R Documentation

## Layout an undirected graph in 2D

### Description

Layout an undirected graph in 2D

### Usage

    circleLayout(g, radius=1)
    kamadaKawaiSpringLayout( g, edge_or_side=1, es_length=1 )
    fruchtermanReingoldForceDirectedLayout(g, width=1, height=1)
    randomGraphLayout(g, minX=0, maxX=1, minY=0, maxY=1)

### Arguments

`g` | an instance of the `graph` class with `edgemode` “undirected”
`radius` | radius of a regular n-polygon
`edge_or_side` | boolean indicating the length is for an edge or for a side, default is for an edge
`es_length` | the length of an edge or a side for layout
`width` | the width of the dislay area, all x coordinates fall in [-width/2, width/2]
`height` | the height of the display area, all y coordinates fall in [-height/2, height/2]
`minX` | minimum x coordinate
`maxX` | maximum x coordinate
`minY` | minimum y coordinate
`maxY` | maximum y coordinate

### Details

If you want to simply draw a graph, you should consider using package {em Rgraphviz}. The layout options in package {em Rgraphviz}: `neato`, `circo` and `fdp`, correspond to `kamadaKawaiSpringLayout`, `circleLayout` and `fruchtermanReingoldForceDirectedLayout`, respectively.

Function `circleLayout` layouts the graph with the vertices at the points of a regular n-polygon. The distance from the center of the polygon to each point is determined by the `radius` parameter.

Function `kamadaKawaiSpringLayout` provides Kamada-Kawai spring layout for connected, undirected graphs. User provides either the unit length e of an edge in the layout or the length of a side s of the display area.

Function `randomGraphLayout` places the points of the graph at random locations.

Function `fruchtermanReingoldForceDirectedLayout` performs layout of unweighted, undirected graphs. It's a force-directed algorithm. The BGL implementation doesn't handle disconnected graphs very well, since it doesn't explicitly give each connected component a region proportional to its size.

See documentation on this function in Boost Graph Library for more details.

### Value

A (2 x n) matrix, where n is the number of nodes in the graph, each column gives the (x, y)-coordinates for the corresponding node.

### Author(s)

Li Long <li.long@isb-sib.ch>

### References

Boost Graph Library ( www.boost.org/libs/graph/doc/index.html )

The Boost Graph Library: User Guide and Reference Manual; by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine; (Addison-Wesley, Pearson Education Inc., 2002), xxiv+321pp. ISBN 0-201-72914-8

### See Also

`layoutGraph`

### Examples

    con <- file(system.file("XML/conn.gxl",package="RBGL"), open="r")
    coex <- fromGXL(con)
    close(con)

    coex <- ugraph(coex)

    circleLayout(coex)

    kamadaKawaiSpringLayout(coex)

    randomGraphLayout(coex)

    fruchtermanReingoldForceDirectedLayout(coex, 10, 10)

[Package RBGL version 1.18.0 Index]