# R igraph manual pages

Use this if you are using igraph from R

## 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 modifiers:

• 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)