Superimpose a function.
Superimpose a function.
stat_function( mapping = NULL, data = NULL, geom = "path", position = "identity", ..., fun, xlim = NULL, n = 101, args = list(), na.rm = FALSE, show.legend = NA, inherit.aes = TRUE )
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use display the data |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... |
other arguments passed on to |
fun |
function to use |
xlim |
Optionally, restrict the range of the function to this range. |
n |
number of points to interpolate along |
args |
list of additional arguments to pass to |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
stat_function
understands the following aesthetics (required aesthetics are in bold):
y
x's along a grid
value of function evaluated at corresponding x
set.seed(1492) df <- data.frame( x = rnorm(100) ) x <- df$x base <- ggplot(df, aes(x)) + geom_density() base + stat_function(fun = dnorm, colour = "red") base + stat_function(fun = dnorm, colour = "red", args = list(mean = 3)) # Plot functions without data # Examples adapted from Kohske Takahashi # Specify range of x-axis ggplot(data.frame(x = c(0, 2)), aes(x)) + stat_function(fun = exp, geom = "line") # Plot a normal curve ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = dnorm) # To specify a different mean or sd, use the args parameter to supply new values ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = dnorm, args = list(mean = 2, sd = .5)) # Two functions on the same plot f <- ggplot(data.frame(x = c(0, 10)), aes(x)) f + stat_function(fun = sin, colour = "red") + stat_function(fun = cos, colour = "blue") # Using a custom function test <- function(x) {x ^ 2 + x + 20} f + stat_function(fun = test)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.