当前位置:  开发笔记 > 编程语言 > 正文

用ggplot2编写一个简单的函数

如何解决《用ggplot2编写一个简单的函数》经验,为你挑选了1个好方法。

我是编写函数的新手,因此我无法想象这一点也就不足为奇了.我只想生成一个简单的函数,其中一个指定数据帧和你想要的变量,然后ggplot生成一个双变量图.我觉得下面应该工作,因为我使用了几个与ggplot2函数建议的变通方法:

library(ggplot2)

xy <- data.frame(xvar=1:10,yvar=1:10)

plotfunc <- function(Data, x, y){
  .e <- environment()
  ggplot(Data, aes(x = x, y = y), environment = .e) + 
  geom_line()
}

plotfunc(xy, xvar, yvar)

但是,上面的代码生成此错误消息:

Error in eval(expr, envir, enclos) : object 'xvar' not found
In addition: Warning message:
In eval(expr, envir, enclos) : restarting interrupted promise evaluation

我在这里做错了什么建议?显然这是一个微不足道的例子,我希望将其扩展到更广泛的用途.

提前致谢.



1> Roland..:

用途aes_q:

plotfunc <- function(Data, x, y){
  print(
    ggplot(Data, aes_q(x = substitute(x), y = substitute(y))) + 
      geom_line()
  )
}

plotfunc(xy, xvar, yvar)

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有