igraph (version 0.5.3)

layout.drl: The DrL graph layout generator

Description

DrL is a force-directed graph layout toolbox focused on real-world large-scale graphs, developed by Shawn Martin and colleagues at Sandia National Laboratories.

Usage

layout.drl (graph, use.seed = FALSE, seed = matrix(runif(vcount(graph) * 
    2), nc = 2), options = igraph.drl.default, weights = E(graph)$weight, 
    fixed = NULL, dim = 2)

Arguments

graph
The input graph, in can be directed or undirected.
use.seed
Logical scalar, whether to use the coordinates given in the seed argument as a starting point.
seed
A matrix with two columns, the starting coordinates for the vertices is use.seed is TRUE. It is ignored otherwise.
options
Options for the layout generator, a named list. See details below.
weights
Optional edge weights. Supply NULL here if you want to weight edges equally. By default the weight edge attribute is used if the graph has one.
fixed
Logical vector, it can be used to fix some vertices. All vertices for which it is TRUE are kept at the coordinates supplied in the seed matrix. It is ignored it NULL or if use.seed is F
dim
Either 2 or 3, it specifies whether we want a two dimensional or a three dimensional layout. Note that because of the nature of the DrL algorithm, the three dimensional layout takes significantly longer to com

Value

  • A numeric matrix with two columns.

concept

Graph layout

Details

This function implements the force-directed DrL layout generator.

The generator has the following parameters:

  • edge.cut
{Edge cutting is done in the late stages of the algorithm in order to achieve less dense layouts. Edges are cut if there is a lot of stress on them (a large value in the objective function sum). The edge cutting parameter is a value between 0 and 1 with 0 representing no edge cutting and 1 representing maximal edge cutting. } init.iterations{Number of iterations in the first phase.} init.temperature{Start temperature, first phase.} init.attraction{Attraction, first phase.} init.damping.mult{Damping, first phase.} liquid.iterations{Number of iterations, liquid phase.} liquid.temperature{Start temperature, liquid phase.} liquid.attraction{Attraction, liquid phase.} liquid.damping.mult{Damping, liquid phase.} expansion.iterations{Number of iterations, expansion phase.} expansion.temperature{Start temperature, expansion phase.} expansion.attraction{Attraction, expansion phase.} expansion.damping.mult{Damping, expansion phase.} cooldown.iterations{Number of iterations, cooldown phase.} cooldown.temperature{Start temperature, cooldown phase.} cooldown.attraction{Attraction, cooldown phase.} cooldown.damping.mult{Damping, cooldown phase.} crunch.iterations{Number of iterations, crunch phase.} crunch.temperature{Start temperature, crunch phase.} crunch.attraction{Attraction, crunch phase.} crunch.damping.mult{Damping, crunch phase.} simmer.iterations{Number of iterations, simmer phase.} simmer.temperature{Start temperature, simmer phase.} simmer.attraction{Attraction, simmer phase.} simmer.damping.mult{Damping, simmer phase.}

There are five pre-defined parameter settings as well, these are called igraph.drl.default, igraph.drl.coarsen, igraph.drl.coarsest, igraph.drl.refine and igraph.drl.final.

References

http://www.cs.sandia.gov/~smartin/software.html

See Also

layout for other layout generators.

Examples

Run this code
g <- as.undirected(ba.game(100, m=1))
l <- layout.drl(g, options=list(simmer.attraction=0))
plot(g, layout=l, vertex.size=3, vertex.label=NA)

Run the code above in your browser using DataCamp Workspace