+ is the key to constructing sophisticated ggplot2 graphics. It
allows you to start simple, then get more and more complex, checking your
work at each step.
# S3 method for gg +(e1, e2) e1 %+% e2
A plot component, as described below.
You can add any of the following types of objects:
aes() object replaces the default aesthetics.
A layer created by a
stat_ function adds a
scale overrides the existing scale.
theme() modifies the current theme.
coord overrides the current coordinate system.
facet specification overrides the current faceting.
To replace the current default data frame, you must use
due to S3 method precedence issues.
You can also supply a list, in which case each element of the list will be added in turn.
base <- ggplot(mpg, aes(displ, hwy)) + geom_point() base + geom_smooth() #> `geom_smooth()` using method = 'loess' and formula 'y ~ x' # To override the data, you must use %+% base %+% subset(mpg, fl == "p") # Alternatively, you can add multiple components with a list. # This can be useful to return from a function. base + list(subset(mpg, fl == "p"), geom_smooth()) #> `geom_smooth()` using method = 'loess' and formula 'y ~ x'