如果我尝试手动撰写ggplot2
情节的一些元素,它工作得很好:如何将多个ggplot2元素组合到一个函数的返回中?
> p <- ggplot(aes(x = mpg, y = hp), data = mtcars)
> p + geom_vline(xintercept = 20) + geom_point(data = mtcars)
但是,如果我尝试捆绑的一些成分成一个函数,我得到一个错误:
> myFunction <- function() {
+ return(
+ geom_vline(xintercept = 20) + geom_point(data = mtcars)
+ )
+ }
> p <- ggplot(aes(x = mpg, y = hp), data = mtcars)
> p + myFunction()
Error in geom_vline(xintercept = 20) + geom_point(data = mtcars) :
non-numeric argument to binary operator
我错过ggplot2
表示法,用于在函数体内正确组合ggplot2
元素吗?
我认为`+`操作符需要其中一个参数是`ggplot`类才能正常工作。 geoms不是`ggplot`对象,而是`p`图。 – Sharpie 2011-01-30 07:03:21