文字
文字,也称文本或字符串。主要由三个属性控制:文字大小、字体、颜色。三个属性之间用逗号分隔,即:size,fonttype,fill。
在模块的语法介绍中,通常使用 font 表示需要用户指定文字属性,用户应自行将其脑补为 size,fonttype,fill。
三者均是可选的,但先后顺序不可乱。若其中任意一个属性被省略,则使用该属性的默认值。
文字大小
文字大小,即常说的字号,可以用数字加单位表示。在不指定单位的情况下默认单位为 p,也可加上 c、p 或者 i 显式指定单位,比如 15p。
有些中文期刊可以会有类似“图片标题是四号字”这样的要求,这就需要知道GMT中的字体大小与Microsoft Word中字号大小的对应关系。如下表所示:
字号 |
p |
字号 |
p |
---|---|---|---|
初号 |
42 |
小初 |
36 |
一号 |
26 |
小一 |
24 |
二号 |
22 |
小二 |
18 |
三号 |
16 |
小三 |
15 |
四号 |
14 |
小四 |
12 |
五号 |
10.5 |
小五 |
9 |
六号 |
7.5 |
小六 |
6.5 |
七号 |
5.5 |
八号 |
5 |
字体
GMT默认支持35种标准字体。下图给出了GMT支持的35种字体的名字及对应的编号:
GMT中可以用字体名(区分大小写)或对应的字体编号来指定字体 (比如 Helvetica-Bold 或者 1)。上图中给出了每种字体的字体编号以及字体名称。每个字体名称使用的是自己相对应的字体,所以可以从图中直观地看出不同字体的区别。
小技巧
使用 gmt text -L
可以在命令行查看GMT所支持的字体及其编号。
图中大多数字体都很直观,比较特别的字体有两个,Symbol(12号)和ZapfDingbats(34号),前者常用于输出希腊字母,后者则用于输出特殊图案,详情见 特殊字符。
填充色
可以为文字指定填充色或填充图案,也就是常说的文字颜色。
描边
在给文字指定填充色的同时,还可以在填充色 fill 后加上 =pen 以指定文本轮廓(即描边)的画笔属性。画笔属性 pen 的用法见 画笔 一节。比如 red=2p,blue 表示将文字填充为红色,并使用宽度为 2p 的蓝色线条给文字描边。若填充色 fill 为 -,则不对文字做填充,即实现空心文字的效果。
使用 =pen 语法绘制文本轮廓时,轮廓线条有一半宽度位于文字外部,另一半宽度会遮住字体。为了避免这一现象,可以使用 =~pen 语法,此时在绘制文字轮廓时只绘制文字外部的半个线宽的线条。
小练习
text 模块可以用于添加文字。下面的命令在图上写了文字 TEXT:
echo 2.5 0.5 TEXT | gmt text -R0/5/0/1 -JX15c/2c -F+ffont -pdf text
将 -F+ffont 中的 font 修改为不同的值并查看绘图效果以理解这一节的内容。
下图给出了 font 取不同值的效果: