RBGL (version 1.48.1)

layout: Layout an undirected graph in 2D -- suspended june 16 2012

Description

Layout an undirected graph in 2D -- suspended june 16 2012

Usage

circleLayout(g, radius=1) # does not compile with boost 1.49 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

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.

Details

If you want to simply draw a graph, you should consider using package Rgraphviz. The layout options in package 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.

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

Run this code
## Not run: 
# 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)
# ## End(Not run)

Run the code above in your browser using DataCamp Workspace