R语言 布局功能,用于绘制多个Map

mm9b1k5b  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(147)

我需要以特定的方式将4个不同的图排列在一起,我尝试使用layout()函数,但总是得到错误的结果。
如果代码按照我想要的方式工作,布局应该是这样的:

因此,增加图位于顶部中心,减少图位于底部中心,base21位于左侧,base22位于右侧,并且垂直居中。
下面是我在这一点上的代码:

layout_matrix <- matrix(c(1, 1, 1, 2, 2, 3, 3, 4, 4, 4),  ncol = 3)

# arrange plots using gridExtra and layout
grid.arrange(
  arrangeGrob(increase_map, decrease_map, nrow = 3),
  arrangeGrob(base21_map, base22_map, ncol = 3),
  layout_matrix = layout_matrix
)

但它返回以下内容:

怎样才能让它像图纸上的那样排列呢?

bmp9r5qi

bmp9r5qi1#

我发现用byrow=TRUE直观地写出布局是很有帮助的,就像你正在看它一样。例如:

layout_matrix <- matrix(
    c(0,0,0,1,1,1,1,1,0,0,0,
      2,2,2,2,2,0,3,3,3,3,3,
      0,0,0,4,4,4,4,4,0,0,0),
      nrow=3, byrow=TRUE)

在基本图形中使用layout/layout.show时的外观示例图像:

相关问题