Layout a graph on a spiral
layout_as_spiral(
g,
type = c("Archimedean", "Bernoulli", "Fermat", "Euler"),
arcs = 6,
a = 1,
b = NULL,
rev = FALSE
)
An igraph object. If (rev = FALSE
) the vertex with the lowest index will be placed in the centre of the spiral, the highest index will be most outer vertex,
Spiral type, one of "Archimedean"
,"Bernoulli"
,"Fermat"
, or, "Euler"
(default = "Archimedean"
)
The number of arcs (half circles/ovals) that make up the spiral (default = 10
)
Parameter controlling the distance between spiral arms, however, the effect will vary for different spiral types (default = 0.5
)
Parameter controlling where the spiral originates. A value of 1 will generally place the origin in the center. The default NULL
will choose a value based on the different spiral types (default = NULL
)
If TRUE
the vertex with the highest index will be placed in the centre of the spiral (default = FALSE
)
An igraph layout
library(igraph)
#>
#> Attaching package: ‘igraph’
#> The following objects are masked from ‘package:stats’:
#>
#> decompose, spectrum
#> The following object is masked from ‘package:base’:
#>
#> union
g <- igraph::sample_gnp(100, 1/100)
# Equiangular spiral: Any line from the origin cuts at the same angle.
plot(g, layout = layout_as_spiral(g, type = "Bernoulli", arcs = 5))
# The arms of Fermat's spiral diverge quadratically.
plot(g, layout = layout_as_spiral(g, type = "Fermat", arcs = 5))
# Equidistance of intersection points along a line through the origin.
plot(g, layout = layout_as_spiral(g, type = "Archimedean", arcs = 5))