在极坐标下绘制深度剖面

在做大区域层析成像时,通常需要绘制深度剖面。一个简单的示例如下:

这样的深度剖面图实际上是在极坐标下绘制的。先直接给出绘制上图所使用的命令:

gmt psbasemap -R60/80/5571/6371 -JPa15c/70z -Bx5 -By200 -BWNse > test.ps

要想理解这样一张图,首先要对极坐标投影有一定的了解。以 -JP 为例,其语法为:

-JP[a]<width>[/<base>][r|z]

先绘制一个最简单的极坐标的例子:

gmt psbasemap -R0/360/0/6371 -JP15c -Bx30 -Byg2000 > test.ps

从这张图中可以看出,theta 角的定义是相对于水平轴方向逆时针旋转的角度,且圆心处 r 值为 0,而 -JP15c 代表的是整个图的宽度,本图中也就是圆的直径。

回到具体的问题,因为要绘制 60 度到 80 度范围内 0 到 800 公里的一个深度剖面,所以 -R 的范围应该取为 -R60/80/5571/6371 :

gmt psbasemap -R60/80/5571/6371 -JP15c -Bx5 -By200 -BWNse > test1.ps

此时的效果图如下:

需要尤其注意的是,此时 -JP 中的 15c 代表的依然是整个图的宽度,而不是其所对应的圆的半径或直径。

在这种图的基础上,将投影方式进一步修改为 -JPa15c/70z ,其中:

  1. a 的作用在于使得 theta 代表方位角,即相对于正北方向顺时针旋转的角度
  2. z 使得标注的不是半径而是深度,即标注的不是 5571 到 6371 而是 0 到 800
  3. /70 的作用是使得极坐标旋转 70 度,这样图看起来就更 “正” 了