File: gg-add.Rd

package info (click to toggle)
r-cran-ggplot2 1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 4,412 kB
  • sloc: sh: 9; makefile: 1
file content (75 lines) | stat: -rw-r--r-- 2,080 bytes parent folder | download
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
% Generated by roxygen2 (4.0.1): do not edit by hand
\name{+.gg}
\alias{+.gg}
\alias{\%+\%}
\alias{\%+replace\%}
\title{Modify a ggplot or theme object by adding on new components.}
\usage{
\method{+}{gg}(e1, e2)

e1 \%+\% e2

e1 \%+replace\% e2
}
\arguments{
\item{e1}{An object of class \code{ggplot} or \code{theme}}

\item{e2}{A component to add to \code{e1}}
}
\description{
This operator allows you to add objects to a ggplot or theme object.
}
\details{
If the first object is an object of class \code{ggplot}, you can add
the following types of objects, and it will return a modified ggplot
object.

\itemize{
  \item \code{data.frame}: replace current data.frame
     (must use \code{\%+\%})
  \item \code{uneval}: replace current aesthetics
  \item \code{layer}: add new layer
  \item \code{theme}: update plot theme
  \item \code{scale}: replace current scale
  \item \code{coord}: override current coordinate system
  \item \code{facet}: override current coordinate faceting
}

If the first object is an object of class \code{theme}, you can add
another theme object. This will return a modified theme object.

For theme objects, the \code{+} operator and the \code{\%+replace\%}
can be used to modify elements in themes.

The \code{+} operator completely replaces elements
with elements from e2.

In contrast, the \code{\%+replace\%} operator does not replace the
entire element; it only updates element properties which are present
(not NULL) in the second object.
}
\examples{
### Adding objects to a ggplot object
p <- qplot(wt, mpg, colour = hp, data = mtcars)

p + coord_cartesian(ylim = c(0, 40))
p + scale_colour_continuous(breaks = c(100, 300))
p + guides(colour = "colourbar")

# Use a different data frame
m <- mtcars[1:10, ]
p \%+\% m


### Adding objects to a theme object
# Compare these results of adding theme objects to other theme objects
add_el <- theme_grey() + theme(text = element_text(family = "Times"))
rep_el <- theme_grey() \%+replace\% theme(text = element_text(family = "Times"))

add_el$text
rep_el$text
}
\seealso{
\code{\link{theme}}
}