Examples for 'ggplot2::geom_function'


Draw a function as a continuous curve

Aliases: geom_function stat_function

Keywords:

### ** Examples


# geom_function() is useful for overlaying functions
set.seed(1492)
ggplot(data.frame(x = rnorm(100)), aes(x)) +
  geom_density() +
  geom_function(fun = dnorm, colour = "red")
plot of chunk example-ggplot2-geom_function-1
# To plot functions without data, specify range of x-axis
base <-
  ggplot() +
  xlim(-5, 5)

base + geom_function(fun = dnorm)
plot of chunk example-ggplot2-geom_function-1
base + geom_function(fun = dnorm, args = list(mean = 2, sd = .5))
plot of chunk example-ggplot2-geom_function-1
# The underlying mechanics evaluate the function at discrete points
# and connect the points with lines
base + stat_function(fun = dnorm, geom = "point")
plot of chunk example-ggplot2-geom_function-1
base + stat_function(fun = dnorm, geom = "point", n = 20)
plot of chunk example-ggplot2-geom_function-1
base + geom_function(fun = dnorm, n = 20)
plot of chunk example-ggplot2-geom_function-1
# Two functions on the same plot
base +
  geom_function(aes(colour = "normal"), fun = dnorm) +
  geom_function(aes(colour = "t, df = 1"), fun = dt, args = list(df = 1))
plot of chunk example-ggplot2-geom_function-1
# Using a custom anonymous function
base + geom_function(fun = function(x) 0.5*exp(-abs(x)))
plot of chunk example-ggplot2-geom_function-1
base + geom_function(fun = ~ 0.5*exp(-abs(.x)))
plot of chunk example-ggplot2-geom_function-1
# Using a custom named function
f <- function(x) 0.5*exp(-abs(x))

base + geom_function(fun = f)
plot of chunk example-ggplot2-geom_function-1

[Package ggplot2 version 3.3.6 Index]