排列 R 绘图:如何排列 VIM 包的绘图?

arrange R plots: how can I arrange plots of the VIM package?

我想使用 marginplot() (VIM 包)生成多个图,然后将它们排列成一个大图。我尝试使用 grid.arrange(grid/gridExtra 包)但它没有用。错误是,预计会有 grob 作为输入。因此,我尝试先将 marginplot 转换为 ggplot (as.ggplot) 或 grob (as.grob),但这没有用。有谁知道如何安排剧情吗?

library(VIM)
library(ggplotify)
library(grid)
library(gridExtra)

x <- cars[, c("speed", "dist")]
marginplot(x)
y <- cars[, c("speed", "dist")]
marginplot(y)

p <- qplot(1,1)
#p2 <- as.ggplot(marginplot(x))
r <- rectGrob(gp=gpar(fill="grey90"))
grid.arrange( r, p,p, r, ncol=2)

我用汽车创建了一个小代码,在那里我设法安排了灰色方块和 qplots。我无法添加边距图。

对于基本图,会出现此错误。在这里了解到:

grid.arrange 旨在与“网格图形对象”(grobs)一起使用,例如 ggplot2.

人们可以找到等效的网格图或使用基本图形方法来堆叠图。 试试这个:

library(VIM)

x <- cars[, c("speed", "dist")]
y <- cars[, c("speed", "dist")]

par(mfrow = c(2,2))
marginplot(x)
marginplot(y)
plot(rnorm(100))
hist(rnorm(100)) 
par(mfrow = c(1, 1)) #reset this parameter