我不知道如何在 ggplot2 的 curve() 函数中复制 add=TRUE 参数?
假设我有这个情节
testfn<-function(x,a){
sin(x-a)
}
for(i in 1:10){
curve(testfn(x,i),add=TRUE,xlim=c(-5,5))
}
如何在 ggplot2 中执行此操作而无需手动添加 10 个 +stat_function()s?
谢谢
创建调用列表以stat_function
使用lapply
例如
library(ggplot2)
# the base plot (with x limits)
xlim <- c(-5,5)
baseplot <- ggplot(data.frame(x = xlim), aes(x=x))
# the function
testfn <- function(x,a){sin(x-a)}
# a list of 10 calls (a = 1,...10)
list_fn <- lapply(seq_len(10), function(a){
stat_function(fun = testfn, args = list(a=a))
})
# the plot
baseplot + list_fn