简单地 returns 情节的功能

Function that simply returns the plot

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

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(),它只是 returns 绘图本身,将其用作默认的最后一行,这样我就可以轻松添加更多行,如

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。

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

library(ggplot2) # ggplot2_2.2.1

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