This is a generic function to apply a layout function to a graph.
layout_(graph, layout, ...)# S3 method for igraph_layout_spec
print(x, ...)
# S3 method for igraph_layout_modifier
print(x, ...)
The input graph.
The layout specification. It must be a call to a layout specification function.
Further modifiers, see a complete list below.
For the print methods, it is ignored.
The layout specification
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.
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.
add_layout_ to add the layout to the
graph as an attribute.
Other graph layouts: add_layout_;
as_bipartite,
layout.bipartite,
layout_as_bipartite; as_star,
layout.star, layout_as_star;
as_tree, layout_as_tree;
component_wise; in_circle,
layout_in_circle;
layout.auto, layout_nicely,
nicely;
layout.davidson.harel,
layout_with_dh, with_dh;
layout.gem, layout_with_gem,
with_gem; layout.graphopt,
layout_with_graphopt,
with_graphopt; layout.grid,
layout.grid.3d,
layout.grid.3d,
layout_on_grid, on_grid;
layout.mds, layout_with_mds,
with_mds; layout.merge,
layout_components,
merge_coords,
piecewise.layout,
piecewise.layout;
layout.norm, norm_coords;
layout.sugiyama,
layout_with_sugiyama,
with_sugiyama;
layout_on_sphere, on_sphere;
layout_randomly, randomly;
layout_with_fr, with_fr;
layout_with_kk, with_kk;
layout_with_lgl, with_lgl;
normalize
# NOT RUN {
g <- make_ring(10) + make_full_graph(5)
coords <- layout_(g, as_star())
plot(g, layout = coords)
# }
Run the code above in your browser using DataLab