ggtern (version 2.2.0)

ggplot: Create a new ggplot plot.


ggplot() initializes a ggplot object. It can be used to declare the input data frame for a graphic and to specify the set of plot aesthetics intended to be common throughout all subsequent layers unless specifically overridden.

Draw plot on current graphics device.


ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())
"print"(x, newpage = is.null(vp), vp = NULL, ...)
"plot"(x, newpage = is.null(vp), vp = NULL, ...)


Default dataset to use for plot. If not already a data.frame, will be converted to one by fortify. If not specified, must be suppled in each layer added to the plot.
Default list of aesthetic mappings to use for plot. If not specified, must be suppled in each layer added to the plot.
other arguments not used by this method
If an variable defined in the aesthetic mapping is not found in the data, ggplot will look for it in this environment. It defaults to using the environment in which ggplot() is called.
plot to display
draw new (empty) page first?
viewport to draw plot in


Invisibly returns the result of ggplot_build, which is a list with components that contain the plot itself, the data, information about the scales, panels etc.


ggplot() is typically used to construct a plot incrementally, using the + operator to add layers to the existing ggplot object. This is advantageous in that the code is explicit about which layers are added and the order in which they are added. For complex graphics with multiple layers, initialization with ggplot is recommended.

There are three common ways to invoke ggplot:

  • ggplot(df, aes(x, y, ))
  • ggplot(df)
  • ggplot()

The first method is recommended if all layers use the same data and the same set of aesthetics, although this method can also be used to add a layer using data from another data frame. See the first example below. The second method specifies the default data frame to use for the plot, but no aesthetics are defined up front. This is useful when one data frame is used predominantly as layers are added, but the aesthetics may vary from one layer to another. The third method initializes a skeleton ggplot object which is fleshed out as layers are added. This method is useful when multiple data frames are used to produce different layers, as is often the case in complex graphics.