R语言:如何在一张图上画多个填色等值线图

  在R语言:填色等值线图及其色标(color bar)设置中我们介绍了filled.contour函数的用法,它可以很方便的绘制带色标的填色等值线图。但是我们平时可能更多的需要将多个填色图放在同一张图上(如下图所示),这种图该如何绘制?


  相比R语言:填色等值线图及其色标(color bar)设置介绍的图形,这里的难点主要有两个,一是怎样进行分面,二是怎样在地图上绘制陆地轮廓,下面我们将依次解决这两个难题。

一、一页多图

  绘图时进行分面操作常用的函数有par函数和layout函数,其中使用par函数分面主要通过调整mfrow参数实现,例如par(mfrow= c(2, 3))即是把当前绘图区域等分为2行3列,其缺点是只能对页面进行等份,而我们绘图的页面布局如下,显然每个绘制区域并不相同,par(mfrow)方法并不适用。


  layout函数则可以处理这类问题,简单介绍一下layout函数:

  layout(mat,
      widths =rep.int(1, ncol(mat)),
          heights = rep.int(1, nrow(mat)),
      respect = FALSE)

  其中参数mat是一个由整数1-N构成的矩阵,这里假定我们要在同一个页面上绘制N个图形,数字1-N即是这N个图形绘制的顺序,而数字1-N在矩阵中的相对位置则表示图像在页面上出现的相对位置。在这里我们先绘制填色图,然后绘制色标,最后绘制标题,页面布局矩阵如下:


  参数widths和heights是两个向量分别表示矩阵中每一列的宽度和每一行的高度,这里如果widths和heights给出的值是数字的话,则表示相对比例

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值