我问了一个关于网格排列的问题HERE并得到了非常好的回应。我想现在缩小地块之间的空间,但是出现错误。首先,我介绍可以工作的代码,然后提供错误代码(我试过的)。我实际上找不到grid.arrange
,并一直认为它来自gridExtra
,但我可能不正确。减少grid.arrange重复之间的空间
所以2部分:
- 我怎样才能减少小区之间的空间网格安排
- 我在哪里可以找到文档中关于
grid.arrange
(巴蒂斯特我知道你保持gridExtra所以请纠正我的想法或使用如果我不是在它的目的的方式使用它包)。
好的坏的代码空间
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("")
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
grid.arrange(gA, gB, ncol=1)
错误代码(我试试)
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("") + theme(plot.margin= unit(1, "cm"))
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
grid.arrange(gA, gB, ncol=1)
错误:
Error in `[.unit`(theme$plot.margin, 2) :
Index out of bounds (unit subsetting)