简单地返回图表的功能

时间:2017-09-06 10:43:38

标签: r ggplot2 magrittr

我要求的功能只是为了方便编程。 使用“+”运算符在ggplot2中添加图层非常棒。特别是在中间添加图层只需添加另一行代码。 但是,如果我想尝试在最后一行之后添加一个图层,我必须在最后一行附加一个“+”,如果我想再次删除该图层,我还必须再次删除“+”:< / p>

ggplot(df, aes(x,y,...)) +
  geom_X(...) +     # after this line, I can easily add layers
  ... +
  layer_Z(...)      # to add a layer after here, I have to modify also this line

我正在搜索一个函数ggidentity(),它只返回绘图本身,将其用作默认的最后一行,这样我就可以轻松添加更多行,如

ggplot(df, aes(x,y,...)) +
  geom_X(...) +      # after this line, I can easily add layers
  ... +
  layer_Z(...) +     # now it's easy to add layers after this line
  ggidentity()       # this doesn't change anything in the plot

我尝试了一个简单的功能

identity <- function(x) x

适用于magrittr-package(并改进了我在探索性数据分析中的工作流程),但不适用于ggplot2。

1 个答案:

答案 0 :(得分:3)

我认为我们需要geom_blank(),例如:

library(ggplot2) # ggplot2_2.2.1

ggplot(mtcars, aes(wt, mpg)) +
  geom_point() +
  geom_blank() # The blank geom draws nothing