畫筆¶
有畫筆才能畫線條、三角形、圓形等各種複雜的形狀。
GMT中的畫筆有三個屬性:筆寬、顏色和線型,三者用逗號分隔,即 width,color,style。
在 GMT 模塊的語法介紹中,一般用 pen 表示畫筆屬性,讀者在見到 pen 時應自行腦補成 width,color,style。
在指定畫筆屬性時,可以指定三個屬性中的任意一個或多個屬性,但要保證屬性的相對順序。
畫筆線寬¶
GMT中可以通過兩種方式指定畫筆寬度:
寬度值+單位,即 widthc|i|p
在不指定線寬單位時,GMT使用的默認線寬單位爲 p。除了 p 之外,還可以使用 c 或 i 指定線寬單位爲釐米或英寸。
推薦只使用 p 作爲線寬單位,畢竟多數情況下線條的寬度都比較小,用“小”單位 p 作爲單位更方便些。且建議總是顯式指定線寬單位,以使得命令的參數更加易讀,比如 1p、0.25p。
預定義畫筆寬度名
對於一些常用的畫筆寬度,GMT將其定義爲特定的名字,以方便用戶使用。下表中列出了GMT預定義畫筆寬度名及其對應的線寬。
GMT預定義畫筆寬度名¶ 線寬名 線寬 線寬名 線寬 faint 0 thicker 1.5p default 0.25p thickest 2p thinnest 0.25p fat 3p thinner 0.50p fatter 6p thin 0.75p fattest 10p thick 1.0p obese 18p
注解
指定線寬爲 0p 或者 faint 並不表示不繪製線段,而是指定了畫筆的寬度爲最細寬度。畫筆的實際最細寬度由具體的設備來決定。通常情況下,線寬爲 0p 的線條在圖片縮放時線條寬度總是保持最小值。
畫筆線型¶
畫筆線型屬性 style 控制了線條的外觀,可以用四種方式表示:
簡單符號
- . 表示點線
- - 表示虛線
組合符號
通過對簡單符號的任意組合可以獲得更多的線型,比如 .- 表示點劃線,..- 表示兩個點號與一個破折號交替出現。
預定義線型名
GMT預定義了幾種線型名,包括:
- solid:即實線;
- dashed:即虛線,等效於 -;
- dotted:即點線,等效於 .;
- dashdot:劃點線,等效於 -.;
- dotdash:點劃線,等效於 .-。
注解
. 和 - 的絕對長度由畫筆寬度來決定。 . 的長度等於畫筆寬度;- 的長度爲8倍畫筆寬度;點線或虛線中段間空白的長度爲4倍畫筆寬度。
複雜線型
通過 string[:offset] 的形式可以自定義任意複雜的線型。
string 是一系列由下劃線 _ 分隔的數字組成。這一系列數字中,第奇數個數字表示實線的長度,第偶數個數字表示空白的長度。通過實線和空白的長度的不同組合,即可構成多種複雜的線型。 offset 表示線段開始處整個線型的初始相位移動(默認值爲0)。
例如,4_8_5_8:2 表示線型首先是長度爲 4p 的實線,然後是長度爲 8p 的空白,緊接着長度爲 5p 的實線和長度爲 8p 的空白,然後按照該模式不斷重複。此處的 offset 值爲 2p,因而線段的最開始處,第一條實線的長度 4p 經過相移後長度爲 2p。
線型中的這些數值,默認單位是 p,也可以使用 c 或 i。