网格排列中图之间的边距问题

20

我似乎找不到通过grid.arrange增加两个图之间间距的解决方案。我不知道该怎么继续,也不想改变图的大小或其他任何内容。

grid.arrange(plot1, plot2, ncol=2)

下面的内容是后来添加的:

这是我的代码:

x11()

cs <- grid.arrange(arrangeGrob(b, a, ncol=2, top = textGrob(
                    "B", vjust = 0.5, hjust = 19.5, gp = gpar(
                     fontface = "bold", cex = 1.5)),
                     left = textGrob(~ Delta * "SCR (p - d)" ~ mu * 'S', 
                     gp=gpar(fontsize=18), rot = 90, vjust = 1)))
soc_sph <- grid.arrange(arrangeGrob(p, g, ncol=2, top = textGrob(
                     "A", vjust = 0.5, hjust = 19.5, gp = gpar(
                     fontface = "bold", cex = 1.5)),
                     left = textGrob(~ Delta * "SCR (p - d)" ~ mu * 'S', 
                     gp=gpar(fontsize=18), rot = 90, vjust = 1)))

grid.arrange(soc_sph, cs, ncol=2)

因此,在最后一个grid.arrange中,需要增加soc_sph和cs之间的间距。


可能是减少grid.arrange图之间的空间的重复问题。 - Axeman
1个回答

29

标准的方法是更改图形边距。

pl = replicate(3, ggplot(), FALSE)
grid.arrange(grobs = pl)  # default settings

enter image description here

margin = theme(plot.margin = unit(c(2,2,2,2), "cm"))
grid.arrange(grobs = lapply(pl, "+", margin))

这里输入图片描述


如果grobs像这篇文章中的“gTrees”一样,该怎么做?https://www.biostars.org/p/191971/ - Brian Wiley
使用 lmat = rbind(c(0,0,0,0), c(0,4,3,0), c(0,2,1,0), c(0,0,0,0))lhei = c(0.5, 1.5, 4, 0.5)lwid = c(0.5, 1.5, 4, 0.5) 可以确定 lmat、lhei 和 lwid 的值。 - Brian Wiley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接