1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/layout.R
\name{layout_}
\alias{layout}
\alias{layout_}
\alias{print.igraph_layout_modifier}
\alias{print.igraph_layout_spec}
\title{Graph layouts}
\usage{
layout_(graph, layout, ...)
\method{print}{igraph_layout_spec}(x, ...)
\method{print}{igraph_layout_modifier}(x, ...)
}
\arguments{
\item{graph}{The input graph.}
\item{layout}{The layout specification. It must be a call
to a layout specification function.}
\item{...}{Further modifiers, see a complete list below.
For the \code{print} methods, it is ignored.}
\item{x}{The layout specification}
}
\value{
The return value of the layout function, usually a
two column matrix. For 3D layouts a three column matrix.
}
\description{
This is a generic function to apply a layout function to
a graph.
}
\details{
There are two ways to calculate graph layouts in igraph.
The first way is to call a layout function (they all have
prefix \code{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 \code{layout_} prefix, and
then \code{layout_} (or \code{\link{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
\code{component_wise} argument, the layout can be calculated
separately for each component, and then merged to get the
final results.
}
\section{Modifiers}{
Modifiers modify how a layout calculation is performed.
Currently implemented modifyers: \itemize{
\item \code{component_wise} calculates the layout separately
for each component of the graph, and then merges
them.
\item \code{normalize} scales the layout to a square.
}
}
\examples{
g <- make_ring(10) + make_full_graph(5)
coords <- layout_(g, as_star())
plot(g, layout = coords)
}
\seealso{
\code{\link{add_layout_}} to add the layout to the
graph as an attribute.
Other graph layouts: \code{\link{add_layout_}};
\code{\link{as_bipartite}},
\code{\link{layout.bipartite}},
\code{\link{layout_as_bipartite}}; \code{\link{as_star}},
\code{\link{layout.star}}, \code{\link{layout_as_star}};
\code{\link{as_tree}}, \code{\link{layout_as_tree}};
\code{\link{component_wise}}; \code{\link{in_circle}},
\code{\link{layout_in_circle}};
\code{\link{layout.auto}}, \code{\link{layout_nicely}},
\code{\link{nicely}};
\code{\link{layout.davidson.harel}},
\code{\link{layout_with_dh}}, \code{\link{with_dh}};
\code{\link{layout.gem}}, \code{\link{layout_with_gem}},
\code{\link{with_gem}}; \code{\link{layout.graphopt}},
\code{\link{layout_with_graphopt}},
\code{\link{with_graphopt}}; \code{\link{layout.grid}},
\code{\link{layout.grid.3d}},
\code{\link{layout.grid.3d}},
\code{\link{layout_on_grid}}, \code{\link{on_grid}};
\code{\link{layout.mds}}, \code{\link{layout_with_mds}},
\code{\link{with_mds}}; \code{\link{layout.merge}},
\code{\link{layout_components}},
\code{\link{merge_coords}},
\code{\link{piecewise.layout}},
\code{\link{piecewise.layout}};
\code{\link{layout.norm}}, \code{\link{norm_coords}};
\code{\link{layout.sugiyama}},
\code{\link{layout_with_sugiyama}},
\code{\link{with_sugiyama}};
\code{\link{layout_on_sphere}}, \code{\link{on_sphere}};
\code{\link{layout_randomly}}, \code{\link{randomly}};
\code{\link{layout_with_fr}}, \code{\link{with_fr}};
\code{\link{layout_with_kk}}, \code{\link{with_kk}};
\code{\link{layout_with_lgl}}, \code{\link{with_lgl}};
\code{\link{normalize}}
}
|