Map the Earth,
Pythonically.

PyGMT 是一個專為地球科學設計的強大 Python 庫。 它封裝了傳奇的 Generic Mapping Tools (GMT),讓你能以現代化的 Python 語法,繪製出學術期刊等級的高品質地圖。

↓ Scroll to Explore

Why PyGMT?

🐍

Pythonic Power

不再需要編寫複雜的 Bash 腳本。PyGMT 完美整合 Pandas DataFrames 與 Xarray DataArrays。使用 fig.plot(data=df) 即可直接繪圖,支援 Arguments Aliasing (如 region 代替 -R),大幅降低學習門檻。

🌍

Access to GMT Core

底層呼叫強大的 libgmt C API。這意味著你擁有 GMT 數十年的地理運算精華:30+ 種地圖投影、網格處理 (Gridding)、等高線繪製 (Contouring) 以及對海量數據的處理能力。

📊

Publication Quality

專為學術發表而生。輸出支援高解析度向量格式 (PDF, EPS, SVG) 與光柵格式 (PNG, JPG)。自動化的比例尺、指北針與圖例生成,讓你的地圖隨時準備好投稿 Nature 或 Science。

AGU 2021 Tutorial Breakdown

基於 "Quick Introduction to Plotting with PyGMT" 演講分析

01. The Figure Object

一切的核心。在 GMT6 與 PyGMT 中,我們不再依賴繁瑣的 PS 檔操作。 fig = pygmt.Figure() 創建了一個現代化的繪圖實例,所有的繪圖指令都作為這個物件的方法 (Methods) 來呼叫。

02. Projection & Basemaps

影片演示了投影的靈活性。透過 fig.basemap() 設定地圖框架。 只要更改 projection 參數 (例如 'M' 代表 Mercator, 'H' 代表 Hammer),整張地圖的數學幾何就會自動重新計算。

03. Remote Datasets

這是最令人驚豔的功能。使用者不需要手動下載數 GB 的地形檔。 只需在 grid 參數指定 @earth_relief, PyGMT 就會從 GMT 伺服器串流下載適合當前解析度的數據。

Video Highlight: 講者在 04:12 處展示了如何用一行代碼完成全球地形渲染。

Interactive Demo

點擊 "Run Code" 模擬 Python 執行過程並生成您的結果圖。

script.py
1import pygmt 2# Load the remote Earth relief dataset 3grid = "@earth_relief_20m" 4# Initialize the Figure 5fig = pygmt.Figure() 6# Create an image plot with Winkel Tripel projection (R) 7# 12c means the map width is 12 cm 8fig.grdimage( 9 grid=grid, 10 projection="R12c", 11 frame="a", # Automatic frame annotation 12 cmap="geo" # Color map for geography 13) 14# Display the final plot 15fig.show()
Waiting for execution...
Click "Run Code" to start.
Winkel Tripel Plot

覺得意猶未盡嗎?

🚀 複製貼上就能跑 🎨 靈感畫廊 📚 大神修煉手冊

PyGMT 的官網就像是一個巨大的寶藏庫!
別再自己造輪子了,這裡有數百個範例代碼 (Gallery) 等你來「借鑒」。 無論是想畫地震機制解、3D 地形圖還是衛星軌道,官方文檔都幫你準備好了!

帶我去官方尋寶!➜