【发布时间】:2017-03-10 16:24:42
【问题描述】:
这个问题建立在related post 之上,它展示了如何使用pryr 包中的%<a-% 函数轻松地将绘图存储为r 对象。伟大的!但是,我现在想创建一个将基本 r 图与 2 个 ggplot 图形结合起来的多图。我在下面使用grid.arrange。
使用基数 r cars 数据我可以制作两个 ggplot 数字。
library(ggplot2)
library(pryr)
library(gridExtra)
Fig1 <- qplot(speed, data=cars, geom="histogram")
Fig2 <- qplot(dist, speed, data=cars, geom="point")
然后我用plot 制作一个图形,并使用pryr 包中的%<a-% 函数将该图形保存为一个对象。光滑。
Fig3 %<a-% plot(cars$speed, cars$dist)
Fig3
最后,我想将这 3 个数字组合成一个图,如下所示。
Figs <- grid.arrange(Fig1, Fig2, Fig3,
layout_matrix = rbind(c(1,1,1,2,2), c(1,1,1,2,2), c(3,3,3,3,3)))
代码产生以下错误:
Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, :
only 'grobs' allowed in "gList"
我如何保存基本的r 图以与其他ggplot 数字组合?
【问题讨论】:
-
似乎您应该在该链接问题上使用已接受的答案,而不是
%<a-%,因为它不会返回网格对象,只是稍后重新运行命令。如果你想使用grid.arrage,你需要一个网格对象。 -
@MrFlick 哦,我现在明白了。我没有完全理解链接帖子的公认答案。事实上,使用
gridGraphics方法是可行的。你想发布答案还是我应该删除这个问题,因为它有点多余......? -
如果您的代码可以让您的示例工作,我建议您在下面回答您自己的问题,因为它可能对其他人有用。