文字

文字,也稱文本或字符串。主要由三個屬性控制:文字大小、字體、顏色。三個屬性之間用逗號分隔,即:size,fonttype,fill

在模塊的語法介紹中,通常使用 font 表示需要用戶指定文字屬性,用戶應自行將其腦補爲 size,fonttype,fill

三者均是可選的,但先後順序不可亂。若其中任意一個屬性被省略,則使用該屬性的默認值。

文字大小

文字大小,即常說的字號,可以用數字加單位表示。在不指定單位的情況下默認單位爲 p,也可加上 cp 或者 i 顯式指定單位,比如 15p

有些中文期刊可以會有類似“圖片標題是四號字”這樣的要求,這就需要知道GMT中的字體大小與Microsoft 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

字體

GMT默認支持35種標準字體。下圖給出了GMT支持的35種字體的名字及對應的編號:

Source Code

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

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 取不同值的效果:

Source Code

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