このWebサイトについて¶
本Webサイトは,美麗な地図やグラフを作成できるツールGeneric Mapping Tools (GMT)のPython インターフェースであるPyGMTの地震学における利用を主な対象としたチュートリアルです.
GMTとPyGMT¶
現在のPyGMTやGMTでどのような図が作成できるかを知るには,公式のギャラリーを見てみるのが良いでしょう.
もともと,GMTはUn*x用のコマンドラインツール群として開発されました.単独Postscriptという形式の画像データを生成する多数のコマンド群からなり,シェルスクリプト等によりそれらのコマンドを組み合わせる必要がありました.シェルスクリプトの特性上,どうしても可視化のコードが煩雑になりがちで,再利用性も低くなりがちでした.
PyGMTは,そんなGMTのPythonインターフェースです.Python上のデータから(原則としては中間ファイルやシェルスクリプトを介することなく)直接GMTによる可視化を行うことができます.さらにNumPyやpandasといったPython上の科学技術計算でよく使われるライブラリのデータ型と互換性があるため,研究成果の可視化ツールとしてとても使いやすいと思います.
Python上の可視化というと,通常のグラフではmatplotlibが,地図ではcartopyが広く使われているようです.PyGMTとどちらを使うかは好みの問題だと思いますが,筆者の意見ではPyGMTのほうが美麗なグラフを生成しやすいと思います.また,GMTの地図投影やグリッドデータ(2次元等間隔のメッシュに対して値が割り当てられたデータ)を扱う機能の豊富さは,大変魅力的です.一方,可視化のための処理速度はやや遅めのようです.特に地震学分野ではこれまでGMTが広く使われていたという経緯もあるため,これまでと同じようなやり方で可視化ができるという継続性に魅力を感じる人もいるかもしれません.
このページの目指すもの・目指さないもの¶
本Webサイトでは,基本的な地図の作り方から震源分布や地震波形など,特に地震学周辺分野における応用を意図した作図を取り扱います.また,地震学解析で広く使われているライブラリであるObsPyとの連携も紹介します.可視化はJupyter Notebook上で行うことを前提としますが,紹介するスクリプトはほとんどそのままPythonスクリプトとして動作します.
2025年現在,PyGMTはいまだ活発な開発が続けられていますが,GMTのあらゆる機能がPythonで使えて,かつそれがドキュメント化されているとまでは言い切れない状態にあります.そこで,(ごく一部ではありますが)公式にはドキュメント化されてないものの,筆者が試行錯誤的に見つけた使い方のTipsなども,紹介します.
一方,本Webサイトはマニュアルではありませんので,PyGMTやGMTのあらゆる機能を網羅することは目標としていません.また,Un*xコマンドラインの利用についてはある程度知っていることを前提としています.
本WebサイトのコードはmacOS25 TahoeとUbuntu 22.04 LTSのマシン上でMiniforgeによって構築したJupyter Notebookにより動作確認しています.PyGMTの開発にともない,昔は通用した書き方でも最新版では警告がでたり,あるいはエラーになることがあります.本サイトのコードは,更新時点での最新の公式リリースで動作確認をしています.(以下の改版履歴をご覧ください)
本ページを見てなにか間違いを見つけたり,あるいは「もっと良い書き方がある」と思われたら,ぜひgithubのIssuesでご教示ください.本ページ上部のGitHubのアイコンからもたどれます.
おもな改版履歴¶
| 日付 | 内容 |
|---|---|
| 2025-11-29 | PyGMT Version 0.17.0 に対応.軸の設定の解説を追加.HTMLビルドエンジンの更新. |
| 2025-08-24 | PyGMT Version 0.16.0 に対応.日本語フォントの解説 (8/31微細修正) |
| 2024-12-14 | Google Colab 上における活用について記述 |
| 2024-12-13 | PyGMT Version 0.13.0 に対応.メカニズム解断面図の説明追加 |
| 2024-06-21 | Anacondaラインセンス変更にともなうインストール方法の修正 |
| 2023-07-21 | PyGMT Version 0.12.0 に対応 |
| 2023-07-05 | アニメーション動画の作成ページを作成 |
| 2023-06-07 | PyGMT Version 0.9.0 に対応,画像保存についてのページ作成 |
| 2022-06-28 | 内容のさらなる分割,xyデータプロットの説明追加. |
| 2022-06-17 | 地形断彩図の分割と説明の追加 |
| 2022-06-17 | 内容を複数ページに分割開始.前書きとインストール解説の詳細化 |
| 2021-12-20 | 初版公開 |