layout
Layout an undirected graph in 2D -- suspended june 16 2012
Layout an undirected graph in 2D -- suspended june 16 2012
- Keywords
- models
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 withedgemode
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
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.
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.
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
Examples
## 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)