命令初探¶
上一節我們使用GMT繪製了第一張圖,但是沒有對其中的細節做任何介紹。這一節我們將簡單介紹一下GMT的命令。
GMT繪圖腳本模板¶
GMT在繪圖時,總是以 begin 開始,並以 end 結束。所有的繪圖命令都放在 begin 與 end 之間,而非繪圖命令可以放在任何地方。
注解
GMT老用戶可能會對此比較陌生。
GMT自6.0.0版本開始,引入了一種全新的繪圖命令執行模式,稱之爲現代模式。GMT5及之前的命令風格稱之爲經典模式。GMT6既支持經典模式也支持現代模式。現代模式與經典模式可以完成相同的繪圖功能,但現代模式大大簡化了繪圖代碼,並極大避免了用戶最容易出錯的地方,因而推薦用戶使用現代模式而非經典模式。
本手冊將只使用現代模式,而不介紹經典模式。GMT新用戶只需要按照本手冊直接學習現代模式即可;對於GMT老用戶,建議閱讀 經典模式 → 現代模式 或者觀看視頻教程 GMT6新特性,並開始使用現代模式進行繪圖。
在前一節中我們使用 gmt --new-script
命令生成一個繪圖模板。忽略掉繪圖模板中的註釋語句,一個最最基本的GMT繪圖腳本的模板是:
gmt begin
#
# 其它命令,包括GMT繪圖命令、數據處理命令以及其它UNIX命令
#
gmt end
你可以直接執行這個腳本,但是因爲這裏什麼命令也沒用,所以這個腳本不會生成任何圖片。
繪圖時我們通常需要指定圖片文件名和圖片格式,因而更實用的繪圖腳本模板爲:
gmt begin FigureName pdf
#
# 其它命令,包括GMT繪圖命令、數據處理命令以及其它UNIX命令
#
gmt end show
- FigureName 指定了要生成的圖片文件名,你可以指定任意文件名,但最好避免在文件名中使用特殊符號和空格。若不給定文件名,則默認文件名爲
gmtsession
- 緊跟在圖片文件名後的 pdf 指定了要生成的圖片格式(若不指定格式,則默認圖片格式爲PDF)。GMT支持多種圖片格式,pdf、ps、eps、jpg、png、bmp等等。若想要一次性生成多種格式的圖片,則可以使用逗號將多種格式連接起來,如 pdf,png 會同時生成PDF和PNG格式的圖片
- gmt end 後面加上 show,則GMT會在繪圖完成後,使用系統自帶的閱讀器軟體自動打開生成的圖片文件,供用戶預覽繪圖效果
繪製第一張圖¶
在GMT繪圖腳本模板的基礎上,向 begin 和 end 語句中間加入正確的GMT繪圖命令,即可實現用GMT繪圖。
下面的腳本使用 coast 繪製了一張全球地圖。執行該腳本,會生成文件名爲 GlobalMap
、格式爲PNG和PDF的圖片文件,並且GMT會在繪圖結束後自動打開生成的圖片文件。
gmt begin GlobalMap png,pdf
gmt coast -Rg -JH15c -Gpurple -Baf -B+t"My First Plot"
gmt end show
小技巧
不理解 gmt coast 這一行命令的含義?沒關係,稍後會詳細介紹。
小技巧
想了解 gmt coast 的具體用法?打開終端,敲入 gmt docs coast
,GMT會自動幫你打開 coast 模塊的說明文件。
GMT命令格式¶
一個GMT命令通常由 gmt + 模塊名 + 選項 + 參數 構成。比如上面的例子中:
gmt coast -Rg -JH15c -Gpurple -Baf -B+t"My First Plot"
- 所有的GMT命令都需要以 gmt 開頭
- coast 是模塊名,這個模塊可以用於繪製海岸線
- -R、-J、-G、-B等以 - 開頭的是模塊的選項
- -Baf 中 af 是 -B 選項的參數
- -B+t”My First Plot” 中 +t 爲 -B 的子選項,”My First Plot” 則是子選項 +t 的參數
關於GMT命令的幾點說明:
- 若模塊名以 gmt 開頭,則模塊名中的 gmt 可省略。比如 gmt gmtset xxx xxx 可簡寫爲 gmt set xxx xxx
- 模塊名、選項等均區分大小寫
- 選項以 - 開頭,後接單個字符表示某個選項,字符後接選項的參數以及子選項
- 子選項以 + 開頭,後接單個字符以及子選項的參數
- 不以 - 開頭的參數,通常都會被當做文件,GMT會嘗試去讀取
- 各選項間以空格分隔,選項內部不能有空格。選項內部的字符串中若存在空格,在Bash下可以使用單引號或雙引號括起來,而在Windows的Batch下則只能使用雙引號。