Use this if you are using igraph from R
This is a generic function to apply a layout function to a graph.
layout_(graph, layout, ...) ## S3 method for class 'igraph_layout_spec' print(x, ...) ## S3 method for class 'igraph_layout_modifier' print(x, ...)
graph |
The input graph. |
layout |
The layout specification. It must be a call to a layout specification function. |
... |
Further modifiers, see a complete list below.
For the |
x |
The layout specification |
There are two ways to calculate graph layouts in igraph.
The first way is to call a layout function (they all have
prefix layout_
on a graph, to get the vertex coordinates.
The second way (new in igraph 0.8.0), has two steps, and it
is more flexible. First you call a layout specification
function (the one without the layout_
prefix, and
then layout_
(or add_layout_
) to
perform the layouting.
The second way is preferred, as it is more flexible. It allows
operations before and after the layouting. E.g. using the
component_wise
argument, the layout can be calculated
separately for each component, and then merged to get the
final results.
The return value of the layout function, usually a two column matrix. For 3D layouts a three column matrix.
Modifiers modify how a layout calculation is performed. Currently implemented modifyers:
component_wise
calculates the layout separately
for each component of the graph, and then merges
them.
normalize
scales the layout to a square.
add_layout_
to add the layout to the
graph as an attribute.
Other graph layouts: add_layout_
,
component_wise
,
layout_as_bipartite
,
layout_as_star
,
layout_as_tree
,
layout_in_circle
,
layout_nicely
,
layout_on_grid
,
layout_on_sphere
,
layout_randomly
,
layout_with_dh
,
layout_with_fr
,
layout_with_gem
,
layout_with_graphopt
,
layout_with_kk
,
layout_with_lgl
,
layout_with_mds
,
layout_with_sugiyama
,
merge_coords
, norm_coords
,
normalize
g <- make_ring(10) + make_full_graph(5) coords <- layout_(g, as_star()) plot(g, layout = coords)