如何让Patchwork Grid图片占用最大可用空间?
解决Patchwork Grid中图片未占满可用空间的方法
强制分配空间比例:
使用plot_layout()的heights或widths参数,直接定义各区域的空间占比,让目标图片占据更多空白。示例代码:library(patchwork) p1 <- ggplot(mtcars, aes(mpg, disp)) + geom_point() p2 <- ggplot(mtcars, aes(hp, wt)) + geom_point() # 让p1占据4/5的垂直空间,p2占1/5 p1 + p2 + plot_layout(heights = c(4, 1))精准布局定位:
用area()函数指定图片覆盖的行列范围,直接填满目标空白区域。示例:# 用字符式布局让p1占满前两行,p2占第三行 p1 + p2 + plot_layout(design = " AAA AAA BBB ") # 或用行列坐标精准定义区域 p1 + p2 + plot_layout(design = area(t = 1, b = 2, l = 1, r = 2) + area(t = 3, b = 3, l = 1, r = 2))消除内外边距:
图片自身的默认边距也会造成留白,先通过theme()把plot.margin设为0,再配合plot_layout(expand = FALSE)关闭布局的扩展留白。示例:p1 <- p1 + theme(plot.margin = margin(0, 0, 0, 0)) p2 <- p2 + theme(plot.margin = margin(0, 0, 0, 0)) p1 + p2 + plot_layout(expand = FALSE)
内容的提问来源于stack exchange,提问作者immuen
相关产品推荐
相关产品推荐

