-X 和 -Y 选项¶
-X 和 -Y 选项用于控制绘图原点在X和Y方向的偏移量。
当需要在一张图上绘制多个子图时,通常可以使用GMT提供的 子图模式。若子图的布局不规则,或对于子图原点有更复杂的需求,则需要使用 -X 和 -Y 选项移动子图的底图原点的位置。
-X 和 -Y 的用法类似。下面仅以 -X 选项为例介绍其用法。其语法为:
-X[a|c|f|r][xshift[u]]
其中 xshift 是新原点相对于当前原点的X方向偏移量,u 为偏移量的单位。
在偏移量之前加上不同的字符表示不同的含义:
- -X2i 或 -Xr2i:在原底图原点的基础上沿X方向偏移2英寸得到新底图原点
- -Xa5c:在原底图原点的基础上沿X方向偏移5厘米得到临时底图坐标,当前命令执行完成后,底图原点复原到原底图原点
- -Xc:将底图中心放在整张纸的中心
- -Xc3c:将底图中心放在纸张中心,在此基础上沿X方向偏移3厘米
- -Xf4c:在纸张左下角的基础上沿着X方向偏移4厘米得到新底图原点
- -X 不接任何额外参数,则继承前一个GMT命令使用该选项时的参数值
-X 和 -Y 选项的用法介绍起来有些难度,多试试就好。下面举个简单的例子:
gmt begin test pdf
gmt basemap -JX5c/2c -R0/5/0/2 -B1
gmt basemap -B1 -X7c
gmt basemap -B1 -X-7c -Y4c
gmt basemap -B1 -X7c
gmt end
上图用四个 basemap 命令绘制了四张底图,绘图效果如下:
解释:
- 第一个命令的绘图原点位于纸张左下角,绘制底图1
- 第二个将绘图原点右移了7 cm,绘制底图2
- 为了绘制底图3,第三个命令将底图左移了7 cm,并上移4 cm
- 第四个命令在底图3的基础上右移7 cm,绘制底图4
实际绘图时会发现一些不方便的地方。比如 -X 和 -Y 的偏移量与前一张底图的大小息息相关。若修改了前一张底图的大小,则下一张底图的偏移量也需要相应修改。为解决这一问题,GMT6引入了一种新的语法:
-X[+|-]w[[+|-|/]xshift[u]] -X[+|-]h[[+|-|/]xshift[u]]
其中 w 和 h 分别表示前一底图的宽度和高度。
看上去语法很复杂,举几个例子:
- -Yh+2c:沿着Y轴上移,上移距离为前一底图高度+2厘米
- -Xw-2c:沿着X轴右移,右移距离为前一底图宽度-2厘米
- -Xw/2:沿着X轴右移,右移距离为前一底图宽度/2
- -Y-h-2c:沿着Y轴下移,下移距离前一底图高度+2厘米
- -X-w+2c:沿着X轴左移,左移距离前一底图宽度-2厘米
因而,上面的示例可以改写为更灵活的版本:
gmt begin test pdf
gmt basemap -JX5c/2c -R0/5/0/2 -B1
gmt basemap -B1 -Xw+2c
gmt basemap -B1 -X-w-2c -Yh+2c
gmt basemap -B1 -Xw+2c
gmt end