13.44 inset

官方文档:inset
简介:管理和设置图中图模式

inset 模块用于管理图中图模式。即在纸张上规划出一小片区域,并限制接下来的绘制操作均只在该小区域内操作。

inset 模块包含两个命令:

  • inset begin 用于设置图中图模式,其定义了图中图区域的位置和大小
  • inset end 用于结束图中图模式,所有的操作都会回到原大图中。

在图中图中,用户可以使用任意的投影方式和投影区域。若投影方式中底图宽度或比例用 ? 表示,则会根据 -D 选项设置的小图大小自动确定小图的最佳尺寸。

13.44.1 inset begin语法

gmt inset begin -Dinset-box [ -Fbox ] [ -Mmargins ] [ -V[level] ] [ --PAR=value ]

13.44.2 必须选项

-Dxmin/xmax/ymin/ymax[+r][+uunit]

类似于 -R 选项,通过指定大图中的一个矩形区域作为小图的绘图区域。

  • +r: 与 -R 选项类似,表明坐标为矩形区域的左下角和右上角坐标。
  • +uunit: 与 -R 选项类似,表明此时的坐标为投影后坐标
-D[g|j|J|n|x]refpoint+wwidth[/height][+jjustify][+odx[/dy]]

指定小图区域的位置和大小。

  • g|j|J|n|x]refpoint: 指定小图区域的参考点,通常用 j 比较方便。例如 jTL 表示小图区域位于左上角,jBR 表示小图区域位于右下角。详情见 绘制修饰物 一节
  • +wwidth[/height]: 设置小图区域的宽度和高度
  • +jjustify: 控制小图区域的锚点,见 锚点 一节
  • +odx[/dy]: 控制小图区域相对于参考点的额外偏移量,见 绘制修饰物 一节

13.44.3 可选选项

-F[+cclearances][+gfill][+i[[gap/]pen]][+p[pen]][+r[radius]][+s[[dx/dy/][shade]]]

设置小图区域的背景面板属性。

  • +gfill: 设置背景面板填充色,默认不填充
  • +p[pen]]: 设置背景面板的边框,默认使用参数 MAP_FRAME_PEN 的值
  • +r[radius]: 设置背景面板边框为圆角矩形,radius 为圆角半径
  • +i[[gap/]pen]: 在背景面板边框的内部绘制一个内边框,gap 为内外边框的距离,pen 为内边框线条属性
  • +cclearances: 面板边框内部的额外空白
    • +cgap 为四个方向增加相同的空白距离
    • +cxgap/ygap 分别为X方向和Y方向指定不同的空白距离
    • +clgap/rgap/bgap/tgap 分别为四个方向指定不同的空白距离
  • +s[[dx/dy/][shade]]: 为背景面板添加阴影效果。dx/dy 为阴影相对面板的偏移量,shade 为阴影颜色。

详情见 绘制修饰物 一节。

-Mmargins

小图区域内部的额外空白区域 [默认值没有空白]。其可以取三种形式:

  1. 一个值,表示四个边的空白相同
  2. 两个用斜杠分隔的值,分别设置水平和垂直方向的空白
  3. 四个用斜杠分隔的值,分别设置左右下上四条边的空白
-V[level] (more …)
设置 verbose 等级 [c].
-^-
显示简短的帮助信息,包括模块简介和基本语法信息 (Windows下只能使用 -
-++
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
-? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

13.44.4 示例

下面的示例绘制了一个日本的区域地图,并在左下角的小图中绘制了日本全图,同时在小图中标出了大图的研究区域。

#!/usr/bin/env bash
gmt begin inset-map png,pdf
    gmt coast -R139.2/140.5/34.8/36 -JM12c -Baf -BWSne -W2p -A1000 -Glightbrown -Sazure1 --FORMAT_GEO_MAP=dddF
    gmt inset begin -DjBL+w3c/3.6c+o0.1c -F+gwhite+p1p
        gmt coast -R129/146/30/46 -JM? -EJP+glightbrown+p0.2p -A10000
        # 使用 -Sr+s 绘制矩形区域
        echo 139.2 34.8 140.5 36 | gmt plot -Sr+s -W1p,blue
    gmt inset end
gmt end show
../../_images/inset-gmtplot-0.png

下面的示例绘制了澳大利亚的地图,并在地图右上角绘制了小图。小图中绘制了全球地图,并以特殊颜色标注了澳大利亚的位置。

#!/usr/bin/env bash
gmt begin inset-example png,pdf
    gmt coast -R110E/170E/44S/9S -JM6i -B -BWSne -Wfaint -N2/1p -Gbrown -EAU+gbisque
    gmt inset begin -DjTR+w1.5i+o0.15i/0.1i -F+gwhite+p1p+c0.1c
        gmt coast -JG120/30S/? -Rg -Bg -Wfaint -Gbrown -EAU+gbisque -A5000
    gmt inset end
gmt end show
../../_images/inset-gmtplot-1.png