我想安排绘图grid.arrange
以制作更复杂的 coplots,然后用于grid.arrange
组合这些复杂的 coplots。我在此任务中使用以下解决方案 ( https://stackoverflow.com/a/13295880/1000343 ) 来安排多个图并确保它们具有相等的宽度。这是代码的演示:
library(ggplot2); library(gridExtra)
gA <- ggplotGrob(A)
gB <- ggplotGrob(B)
maxWidth = grid::unit.pmax(gA$widths[2:5], gB$widths[2:5])
gA$widths[2:5] <- as.list(maxWidth)
gB$widths[2:5] <- as.list(maxWidth)
x <- grid.arrange(gA, gB, ncol=1)
y <- grid.arrange(gA, gB, ncol=1)
grid.arrange(x, y, ncol=2)
在我的情况下要清楚,x
并且y
是具有不同值的略有不同的图。我知道grid.arrange
不会将绘图作为其他基于网格的函数返回。