Add components to a plot

+ 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.

"+"(e1, e2)
e1 %+% e2
An object of class ggplot or a theme.
A plot component, as described below.
What can you add?

You can add any of the following types of objects:

  • A aes() objects replaces the default aesthetics.
  • A layer created by a geom_ or stat_ function adds new layer.
  • A scale overrides the existing scale.
  • A theme modifies the current theme.
  • A coord overrides current coordinate system.
  • A facet specificatio override 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.

See Also


  • +.gg
  • %+%
library(ggplot2) base <- ggplot(mpg, aes(displ, hwy)) + geom_point() base + geom_smooth() # 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())
Documentation reproduced from package ggplot2, version 2.2.1, License: GPL-2 | file LICENSE

Community examples

Looks like there are no examples yet.