R: Graph layouts

layout_ {igraph} | R Documentation

## Graph layouts

### Description

This is a generic function to apply a layout function to a graph.

### Usage

    layout_(graph, layout, ...)

    ## S3 method for class 'igraph_layout_spec'
    print(x, ...)

    ## S3 method for class 'igraph_layout_modifier'
    print(x, ...)

### Arguments

`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 `print` methods, it is ignored.
`x` | The layout specification

### Details

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.

### Value

The return value of the layout function, usually a two column matrix. For 3D layouts a three column matrix.

### Modifiers

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.

### See Also

`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()`

### Examples

    g <- make_ring(10) + make_full_graph(5)
    coords <- layout_(g, as_star())
    plot(g, layout = coords)

[Package igraph version 1.2.6 Index]