R: The GEM layout algorithm

layout_with_gem {igraph} | R Documentation

## The GEM layout algorithm

### Description

Place vertices on the plane using the GEM force-directed layout algorithm.

### Usage

    layout_with_gem(graph, coords = NULL, maxiter = 40 * vcount(graph)^2,
      temp.max = vcount(graph), temp.min = 1/10,
      temp.init = sqrt(vcount(graph)))

    with_gem(...)

### Arguments

`graph` | The input graph. Edge directions are ignored.
`coords` | If not `NULL`, then the starting coordinates should be given here, in a two or three column matrix, depending on the `dim` argument.
`maxiter` | The maximum number of iterations to perform. Updating a single vertex counts as an iteration. A reasonable default is 40 * n * n, where n is the number of vertices. The original paper suggests 4 * n * n, but this usually only works if the other parameters are set up carefully.
`temp.max` | The maximum allowed local temperature. A reasonable default is the number of vertices.
`temp.min` | The global temperature at which the algorithm terminates (even before reaching `maxiter` iterations). A reasonable default is 1/10.
`temp.init` | Initial local temperature of all vertices. A reasonable default is the square root of the number of vertices.
`...` | Passed to `layout_with_gem`.

### Details

See the referenced paper below for the details of the algorithm.

### Value

A numeric matrix with two columns, and as many rows as the number of vertices.

### Author(s)

Gabor Csardi csardi.gabor@gmail.com

### References

Arne Frick, Andreas Ludwig, Heiko Mehldau: A Fast Adaptive Layout Algorithm for Undirected Graphs, Proc. Graph Drawing 1994, LNCS 894, pp. 388-403, 1995.

### See Also

`layout_with_fr`, `plot.igraph`, `tkplot`

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_graphopt`, `layout_with_kk`, `layout_with_lgl`, `layout_with_mds`, `layout_with_sugiyama`, `layout_`, `merge_coords`, `norm_coords`, `normalize`

### Examples

    set.seed(42)
    g <- make_ring(10)
    plot(g, layout=layout_with_gem)

[Package igraph version 1.2.2 Index]