File: layout_.Rd

package info (click to toggle)
r-cran-igraph 1.0.1-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 18,232 kB
  • sloc: ansic: 173,538; cpp: 19,365; fortran: 4,550; yacc: 1,164; tcl: 931; lex: 484; makefile: 149; sh: 9
file content (107 lines) | stat: -rw-r--r-- 3,649 bytes parent folder | download | duplicates (2)
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}}
}