在基本图形中,我可以通过执行以下操作创建4个面板图形窗格:
par(mfrow=c(2,2))
for (i in 1:4){
plot(density(rnorm(100)))
}
Run Code Online (Sandbox Code Playgroud)
结果

我想用ggplot2做同样的事情,但我无法弄清楚如何做到这一点.我不能使用facet,因为我的真实数据,与这个简单的例子不同,是非常不同的结构,我想要两个图表是点图表,两个图表是直方图.如何在ggplot2中创建面板或窗格?
grid.arrange在gridExtra包中使用相对简单的方法在矩阵中排列多个图,但是ggplot2当一些图比其他图更大时,如何安排图(我正在处理的图)?在基础上,我可以使用layout()如下例子:
nf <- layout(matrix(c(1,1,1,2,3,1,1,1,4,5,6,7,8,9,9), byrow=TRUE, nrow=3))
layout.show(nf)
Run Code Online (Sandbox Code Playgroud)
ggplot情节的等价物是什么?

包含的一些情节
library(ggplot2)
p1 <- qplot(x=wt,y=mpg,geom="point",main="Scatterplot of wt vs. mpg", data=mtcars)
p2 <- qplot(x=wt,y=disp,geom="point",main="Scatterplot of wt vs disp", data=mtcars)
p3 <- qplot(wt,data=mtcars)
p4 <- qplot(wt,mpg,data=mtcars,geom="boxplot")
p5 <- qplot(wt,data=mtcars)
p6 <- qplot(mpg,data=mtcars)
p7 <- qplot(disp,data=mtcars)
p8 <- qplot(disp, y=..density.., geom="density", data=mtcars)
p9 <- qplot(mpg, y=..density.., geom="density", data=mtcars)
Run Code Online (Sandbox Code Playgroud) 我试图使用 caTools 包将多个图组合成一个 gif。
我的基本代码如下:
for(我在 1:100){
plot(....) // 绘制几个点和线,随着每个 i 略有变化
}
我想将这些组合成一个 gif,以查看情节的“演变”。
但是对于来自 caTools 的 write.gif(),我需要提供一个图像作为输入。对于每个 i,我如何将绘图转换为图像而不需要
请随时指出这是否是重复的。[从 R 中的一系列情节创建电影似乎没有回答这个问题]
编辑:基本上这需要我们将绘图转换为矩阵。由于每次有人保存情节时很可能会发生这种情况,因此应该不是很困难。但是我无法掌握如何准确地做到这一点。