我想保存,但不打印(暂时),一堆 ggplot()
s 进入网格(通过 arrangeGrob()
,对吗?),然后打印并稍后检索它们。
这是 existing question 的重新启动.
奇怪的是,that answer不起作用,我不知道为什么。
我正在使用完全相同的代码。
library(ggplot2)
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
library(gridExtra)
y <- arrangeGrob(p1, p2)
class(y)
y
奇怪的是,这不会(如上面的答案)产生图网格,但是:
> class(y)
[1] "gtable" "grob" "gDesc"
> y
TableGrob (2 x 1) "arrange": 2 grobs
z cells name grob
1 1 (1-1,1-1) arrange gtable[layout]
2 2 (2-2,1-1) arrange gtable[layout]
这里发生了什么?
最佳答案
gridExtra
软件包最近已更新,从而改变了 arrangeGrob
在内部工作以及它返回什么样的对象(现在是 gtable
)。
您需要调用grid.draw
:
grid.draw(y)
编辑:不要使用
plot()
正如最初建议的那样;它将添加灰色背景,并且仅用于调试 gtables。
关于r - 将arrangeGrob存储到对象,不创建可打印对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31458051/