5.10 线条属性

画笔 一节介绍了画笔的三个属性:线宽、颜色以及线型。对于线条而言,除了画笔的这三个属性之外,某些模块还可以为线条设置额外的线条属性,这些额外的属性可以通过在画笔属性后加上子选项来是实现。

线条的额外属性包括:端点偏移量、线条平滑和端点箭头。

5.10.1 端点偏移量

在给定若干个数据点绘制线条时,一般都是从起点(第一个点)一直画到终点(最后一个点)。可以使用 +o 子选项为线段两端指定偏移量,使得绘制线段时的起点和终点与输入数据中指定的起点和终点间存在一定的偏移量。该子选项的语法是:

+o<offset>[<u>]
  • 若只给了一个 <offset> ,则表示起点和终点共用同一个偏移量
  • 也可以用 <offset>/<offset> 分别为起点和终点指定不同的偏移量
  • 对于每个偏移量,都可以使用长度单位或距离单位

图中,细线和粗线使用了完全相同的输入数据,其中细线没有使用 +o 选项的结果,此时线段的起点和终点与数据指定的点重合,粗线在绘制线条时使用了 -W2p+o1c/500k 选项,即在起点处偏移1厘米,在终点处偏移500千米。

../../_images/GMT_line_offset.png

图 5.11 线段起点偏移示意图

5.10.2 线条平滑

通常情况下,在绘制线条时,两点之间是用直线连接的(地图上两点之间默认用大圆弧连接)。使用 +s 子选项会使用 Bezier splines 在两点之间做样条插值以得到更光滑的曲线。

下图中,左图使用了 -W2p 选项,右边使用了 -W2p+s

../../_images/GMT_bezier.png

图 5.12 线条自动样条插值示意图

5.10.3 端点箭头

默认情况下,在绘制线段时,线段的两个端点并没有什么特别的。使用 +v 子选项,可以在线段的一端或两段绘制一个指向端点的箭头。该子选项的语法为:

+v[b|e]<vspecs>
  • 默认会在线段两端都加上箭头, b|e 表示只绘制开头或结尾的箭头
  • 箭头属性 <vspecs> 的细节参考 绘制矢量/箭头 一节的内容

下图中细线是通常绘制的线段,粗线使用的选项是 -W2p+o1c/500k+vb0.2i+gred+pfaint+bc+ve0.3i+gblue

../../_images/GMT_line_arrow.png

图 5.13 线条端点箭头示意图