4.6 文字

文字,或者称文本或字符串,主要由三个属性控制:文字大小、字体、颜色。三个属性之间用逗号分隔,即:

<size>,<fonttype>,<fill>

三者均是可选的,但先后顺序不可乱。若其中任意一个属性被省略,则使用该属性的默认值或上一次的设置值。

4.6.1 文字大小

文字大小,可以理解成字号,用数字加单位表示。在不指定单位的情况下默认单位为 p,也可加上 cp 或者 i 显式指定单位,比如 15p

有些中文期刊可以会有类似“图片标题是四号字”这样的要求,这就需要知道GMT中的字体大小与MS Word中字号大小的对应关系。如下表所示:

Word字号与GMT中字号(p)对应关系
字号 p 字号 p
初号 42 小初 36
一号 26 小一 24
二号 22 小二 18
三号 16 小三 15
四号 14 小四 12
五号 10.5 小五 9
六号 7.5 小六 6.5
七号 5.5 八号 5

4.6.2 字体

GMT默认支持35种标准字体。下图给出了GMT支持的35种字体的名字及对应的编号:

Source Code

../../_images/text-gmtplot-0.png

GMT中可以用字体名(区分大小写)或对应的字体编号来指定字体 (比如 Helvetica-Bold 或者 1)。上图中给出了每种字体的字体编号以及字体名称。每个字体名称使用的是自己相对应的字体,所以可以从图中直观地看出不同字体的区别。

小技巧

使用 gmt pstext -L 可以列出GMT所支持的字体及其编号。

图中大多数字体都很直观,比较特别的字体有两个,Symbol(12号)和ZapfDingbats(34号),前者常用于输出希腊字母,后者则用于输出特殊图案,详情见 特殊字符

4.6.3 填充色

可以为文字指定颜色或图案,也就是常说的文字颜色,见 填充 一节。

4.6.4 描边

在给文字指定填充色的同时,可以在填充色 <fill> 后加上 =<pen> 来指定文本轮廓(即描边)的画笔属性。<pen> 的用法见 画笔 一节。比如 red=2p,blue 表示将文字填充为红色,并使用宽度为 2p 的蓝色线条给文字描边。若填充色 <fill>-,则不对文字做填充,即实现空心文字的效果。

使用 =<pen> 语法绘制文本轮廓时,轮廓线条有一半宽度位于文字外部,另一半宽度会遮住字体。为了避免这一现象,可以使用 =~<pen> 语法,此时在绘制文字轮廓时只绘制文字外部的半个线宽的线条。

4.6.5 小练习

pstext 模块可以用于绘制文字。下面的命令在图上写了文字 TEXT

echo 2.5 0.5 TEXT | gmt pstext -R0/5/0/1 -JX15c/2c -F+f<font> > text.ps

将其中的 <font> 修改为不同的值并查看绘图效果,以理解这一节的内容。

下图给出了一些 <font> 的示例:

Source Code

../../_images/text-gmtplot-1.png