+.gg {ggplot2} | R Documentation |
This operator allows you to add objects to a ggplot or theme object.
## S3 method for class 'gg' e1 + e2
e1 |
An object of class |
e2 |
A component to add to |
If the first object is an object of class ggplot
,
you can add the following types of objects, and it will
return a modified ggplot object.
data.frame
: replace current
data.frame (must use %+%
)
uneval
:
replace current aesthetics
layer
: add new
layer
theme
: update plot theme
scale
: replace current scale
coord
:
override current coordinate system
facet
:
override current coordinate faceting
If the first object is an object of class theme
,
you can add another theme object. This will return a
modified theme object.
For theme objects, the +
operator and the
%+replace%
can be used to modify elements in
themes.
The +
operator completely replaces elements with
elements from e2.
In contrast, the %+replace%
operator does not
replace the entire element; it only updates element
properties which are present (not NULL) in the second
object.
### 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