Description Usage Arguments Aesthetics Computed variables Examples
View source: R/stat-function.r
This stat makes it easy to superimpose a function on top of an existing plot. The function is called with a grid of evenly spaced values along the x axis, and the results are drawn (by default) with a line.
1 2 3 4 |
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. Must be vectorised. |
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):
group
y
Learn more about setting these aesthetics in vignette("ggplot2-specs")
.
x's along a grid
value of function evaluated at corresponding x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.