将 arrangeGrob 存储到对象,不创建可打印对象
store arrangeGrob to object, does not create printable object
我想保存,但不打印(暂时),将一堆 ggplot()
打印到网格中(通过 arrangeGrob()
,对吗? ), 然后打印并稍后检索它们。
这是 的重启。
奇怪的是, 不起作用,我不知道为什么。
我正在使用完全相同的代码。
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
的内部工作方式以及它 returns 的对象类型(现在是 gtable
)。
您需要致电grid.draw
:
grid.draw(y)
编辑: 不要像最初建议的那样使用 plot()
;它将添加灰色背景,并且仅用于调试 gtables。
我想保存,但不打印(暂时),将一堆 ggplot()
打印到网格中(通过 arrangeGrob()
,对吗? ), 然后打印并稍后检索它们。
这是
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
的内部工作方式以及它 returns 的对象类型(现在是 gtable
)。
您需要致电grid.draw
:
grid.draw(y)
编辑: 不要像最初建议的那样使用 plot()
;它将添加灰色背景,并且仅用于调试 gtables。