Add a smoothed conditional mean.

Usage

geom_smooth(mapping = NULL, data = NULL, stat = "smooth", position = "identity", 
  ...)

Arguments

mapping
The aesthetic mapping, usually constructed with aes or aes_string. Only needs to be set at the layer level if you are overriding the plot defaults.
data
A layer specific dataset - only needed if you want to override the plot defaults.
stat
The statistical transformation to use on the data for this layer.
position
The position adjustment to use for overlappling points on this layer
...
other arguments passed on to layer. This can include aesthetics whose values you want to set, not map. See layer for more details.

Description

Add a smoothed conditional mean.

Aesthetics

geom_smooth understands the following aesthetics (required aesthetics are in bold):

  • x
  • y
  • alpha
  • colour
  • fill
  • linetype
  • size
  • weight

Examples

# See stat_smooth for examples of using built in model fitting # if you need some more flexible, this example shows you how to # plot the fits from any model of your choosing qplot(wt, mpg, data=mtcars, colour=factor(cyl))

model <- lm(mpg ~ wt + factor(cyl), data=mtcars) grid <- with(mtcars, expand.grid( wt = seq(min(wt), max(wt), length = 20), cyl = levels(factor(cyl)) )) grid$mpg <- stats::predict(model, newdata=grid) qplot(wt, mpg, data=mtcars, colour=factor(cyl)) + geom_line(data=grid)

# or with standard errors err <- stats::predict(model, newdata=grid, se = TRUE) grid$ucl <- err$fit + 1.96 * err$se.fit grid$lcl <- err$fit - 1.96 * err$se.fit qplot(wt, mpg, data=mtcars, colour=factor(cyl)) + geom_smooth(aes(ymin = lcl, ymax = ucl), data=grid, stat="identity")

See also

The default stat for this geom is stat_smooth see that documentation for more options to control the underlying statistical transformation.