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
|
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/layout.R
\name{layout_nicely}
\alias{layout.auto}
\alias{layout_nicely}
\alias{nicely}
\title{Choose an appropriate graph layout algorithm automatically}
\usage{
layout_nicely(graph, dim = 2, ...)
nicely(...)
}
\arguments{
\item{graph}{The input graph}
\item{dim}{Dimensions, should be 2 or 3.}
\item{\dots}{For \code{layout_nicely} the extra arguments are passed to
the real layout function. For \code{nicely} all argument are passed to
\code{layout_nicely}.}
}
\value{
A numeric matrix with two or three columns.
}
\description{
This function tries to choose an appropriate graph layout algorithm for the
graph, automatically, based on a simple algorithm. See details below.
}
\details{
\code{layout_nicely} tries to choose an appropriate layout function for the
supplied graph, and uses that to generate the layout. The current
implementation works like this: \enumerate{ \item If the graph has a graph
attribute called \sQuote{layout}, then this is used. If this attribute is an
R function, then it is called, with the graph and any other extra arguments.
\item Otherwise, if the graph has vertex attributes called \sQuote{x} and
\sQuote{y}, then these are used as coordinates. If the graph has an
additional \sQuote{z} vertex attribute, that is also used. \item Otherwise,
if the graph is connected and has less than 1000 vertices, the
Fruchterman-Reingold layout is used, by calling \code{layout_with_fr}.
\item Otherwise the DrL layout is used, \code{layout_with_drl} is called. }
}
\author{
Gabor Csardi \email{csardi.gabor@gmail.com}
}
\seealso{
\code{\link{plot.igraph}}
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.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{layout}}, \code{\link{layout_}},
\code{\link{print.igraph_layout_modifier}},
\code{\link{print.igraph_layout_spec}};
\code{\link{normalize}}
}
\keyword{graphs}
|