2

我想建立我的 GGplot 图并绘制其间的步骤。这是否可以在不先分配然后绘图的情况下完成?

p0 <- ggplot(mtcars, aes(mpg, cyl)) + geom_point()
p0
p1 <- p0 + scale_x_sqrt()
p1
p2 <- p1 + facet_wrap(~gear)
p2

就像是

ggplot(mtcars, aes(mpg, cyl)) + geom_point() %P>%
 + scale_x_sqrt() %P>%
 + facet_wrap(~gear)

产生三个地块但什么也不返回

4

1 回答 1

1

确定的事!

`%P+%` <- function(p1, p2) {p <- ggplot2:::`+.gg`(p1, p2); print(p); invisible(p)}

和电话

ggplot(mtcars, aes(mpg, cyl)) %P+% 
  geom_point() %P+%
  scale_x_sqrt() %P+%
  facet_wrap(~gear)

将连续获得三个地块。唯一的限制是您必须小心混合常规+%P+%优先级问题。

于 2016-02-17T13:29:36.653 回答