将ggplot包装到函数中时出现奇怪的结果

时间:2019-04-05 15:27:29

标签: r function ggplot2

我尝试将ggplot包装到一个可重复编码的函数中。我发现该函数有些奇怪的行为。请帮助解释其原因并提供解决方案。预先感谢。

我想要的是类似p的东西,如下所示:

df <- mtcars

df$cyl <- as.factor(df$cyl)

p <- ggplot(data = df, aes(x = mpg, color = cyl)) +
     geom_histogram() +
     facet_wrap(.~ cyl) +
     theme(legend.position= "none")

p

但是下面的graph函数返回的结果是不同的。我想问题是facet_wrap的值被覆盖。有任何想法吗?

graph <- function(df,n,k){
      p <- ggplot(data = df, aes(x = df[[n]], color = df[[k]])) +
           geom_histogram() +
           facet_wrap(.~ df[[k]]) +
           theme(legend.position= "none")
      return(p)
}

graph(df,"mpg","cyl")

0 个答案:

没有答案