Place the vertices on the plane, or in the 3d space, based on a phyisical model of springs.
layout_with_kk(graph, coords = NULL, dim = 2, maxiter = 50 *
vcount(graph), epsilon = 0, kkconst = vcount(graph), weights = NULL,
minx = NULL, maxx = NULL, miny = NULL, maxy = NULL, minz = NULL,
maxz = NULL, niter, sigma, initemp, coolexp, start)with_kk(...)
The input graph. Edge directions are ignored.
If not NULL
, then the starting coordinates should be
given here, in a two or three column matrix, depending on the dim
argument.
Integer scalar, 2 or 3, the dimension of the layout. Two dimensional layouts are places on a plane, three dimensional ones in the 3d space.
The maximum number of iterations to perform. The algorithm
might terminate earlier, see the epsilon
argument.
Numeric scalar, the algorithm terminates, if the maximal
delta is less than this. (See the reference below for what delta means.) If
you set this to zero, then the function always performs maxiter
iterations.
Numeric scalar, the Kamada-Kawai vertex attraction constant. Typical (and default) value is the number of vertices.
Edge weights, larger values will result longer edges.
If not NULL
, then it must be a numeric vector that gives
lower boundaries for the ‘x’ coordinates of the vertices. The length
of the vector must match the number of vertices in the graph.
Similar to minx
, but gives the upper boundaries.
Similar to minx
, but gives the lower boundaries of the
‘y’ coordinates.
Similar to minx
, but gives the upper boundaries of the
‘y’ coordinates.
Similar to minx
, but gives the lower boundaries of the
‘z’ coordinates.
Similar to minx
, but gives the upper boundaries of the
‘z’ coordinates.
These arguments are not supported from igraph version 0.8.0 and are ignored (with a warning).
Deprecated synonym for coords
, for compatibility.
Passed to layout_with_kk
.
A numeric matrix with two (dim=2) or three (dim=3) columns, and as many rows as the number of vertices, the x, y and potentially z coordinates of the vertices.
See the referenced paper below for the details of the algorithm.
This function was rewritten from scratch in igraph version 0.8.0 and it follows truthfully the original publication by Kamada and Kawai now.
Kamada, T. and Kawai, S.: An Algorithm for Drawing General Undirected Graphs. Information Processing Letters, 31/1, 7--15, 1989.
layout_with_drl
, plot.igraph
,
tkplot
Other graph layouts: add_layout_
;
as_bipartite
,
layout.bipartite
,
layout_as_bipartite
; as_star
,
layout.star
, layout_as_star
;
as_tree
, layout_as_tree
;
component_wise
; in_circle
,
layout_in_circle
;
layout.auto
, layout_nicely
,
nicely
;
layout.davidson.harel
,
layout_with_dh
, with_dh
;
layout.gem
, layout_with_gem
,
with_gem
; layout.graphopt
,
layout_with_graphopt
,
with_graphopt
; layout.grid
,
layout.grid.3d
,
layout.grid.3d
,
layout_on_grid
, on_grid
;
layout.mds
, layout_with_mds
,
with_mds
; layout.merge
,
layout_components
,
merge_coords
,
piecewise.layout
,
piecewise.layout
;
layout.norm
, norm_coords
;
layout.sugiyama
,
layout_with_sugiyama
,
with_sugiyama
;
layout_on_sphere
, on_sphere
;
layout_randomly
, randomly
;
layout_with_fr
, with_fr
;
layout_with_lgl
, with_lgl
;
layout
, layout_
,
print.igraph_layout_modifier
,
print.igraph_layout_spec
;
normalize
# NOT RUN {
g <- make_ring(10)
E(g)$weight <- rep(1:2, length.out=ecount(g))
plot(g, layout=layout_with_kk, edge.label=E(g)$weight)
# }
Run the code above in your browser using DataLab