我将多个图放置到一个图像中gridExtra::grid.arrange
,并希望可以选择将组合图保存为一个对象,该对象可以作为返回对象列表的一部分从函数中返回。理想情况下,我想在不打印绘图对象的情况下执行此操作。
下面的代码创建了两个图,将它们与 结合起来grid.arrange
,并尝试将结果保存到x
. 但是,x
评估为NULL
并打印该图。grid.arrange
指向我的文档arrangeGrob
并建议可以使用 关闭绘图plot=FALSE
,但是当我尝试这样做时出现错误,因为FALSE
它不是 grob 对象。
对于我不理解的任何建议?
# R under development
# Windows 7 (32 bit)
# ggplot2 1.0.0
# gridExtra 0.9.1
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
x <- gridExtra::grid.arrange(p1, p2)
x
根据评论,我正在添加此编辑。当我尝试使用它时arrangeGrob
,我根本没有得到任何输出。
> gridExtra::arrangeGrob(p1, p2)
> print(gridExtra::arrangeGrob(p1, p2))
Error: No layers in plot
> x <- gridExtra::arrangeGrob(p1, p2)
> x
Error: No layers in plot