第3章 一般
regionや点の座標の書式
basemapメソッドの描画範囲指定(region
)や
plotメソッド等の座標指定(x, y, z
)などで与える座標値は,
整数または文字列で与えられる.
整数で与えた場合は十進法である. 文字列では十進法のほか,「:」で区切ることで緯度経度に向いた六十進法(度分秒)で与えることもできる:
'<度>:<分>:<秒>'
例)出力:図*※相互参照無効*
import pygmt
fig = pygmt.Figure()
fig.basemap(
region = '-1/1/-1/1',
projection = 'M5c',
frame = 'agf',
)
fig.plot(
x = '0:30',
y = '0:0:300',
style = 'c5p',
fill = 'red',
)
fig.show()

度分秒による座標指定.
距離・サイズの単位
地理的距離
地理上の距離を指定するときの単位.
引用元:GMT公式(https://docs.generic-mapping-tools.org/dev/gmtselect.html#units)
For map distance unit, append unit d for arc degree, m for arc minute, and s for arc second, or e for meter [Default unless stated otherwise], f for foot, k for km, M for statute mile, n for nautical mile, and u for US survey foot. By default we compute such distances using a spherical approximation with great circles (-jg) using the authalic radius (see PROJ_MEAN_RADIUS). You can use -jf to perform “Flat Earth” calculations (quicker but less accurate) or -je to perform exact geodesic calculations (slower but more accurate; see PROJ_GEODESIC for method used).
投影上のサイズ
図や点などのサイズを指定するときの単位.
引用元:GMT公式(https://docs.generic-mapping-tools.org/dev/gmt.conf.html#term-PROJ_LENGTH_UNIT)
Sets the default unit length. Choose between cm, inch, or point [default is c (or i)]. Note: In GMT, one point is defined as 1/72 inch (the PostScript definition), while it is often defined as 1/72.27 inch in the typesetting industry. There is no universal definition.)
文字入力
文字サイズの一括調整
pygmt.configのFONTによって,with構文内のメソッドで追加される文字列を一括で指定できる. 文字サイズは数値,文字列のいずれで与えても良い. ただし文字列で与えればp; pointやc; cm, i; inchのように単位付きで指定できる.
with pygmt.config(
FONT = <文字サイズ>
):
...
FONTではすべての文字に設定が適用されるが, FONT_TITLE, FONT_LABELとするとそれぞれタイトル,ラベルのみに設定を適用することができる.
ただしgrdcontour()で描かれる等値線のアノテーションの文字サイズはこの方法では変わらない.grdcontour()のアノテーションの文字サイズは,grdcontourメソッドのannotation引数内で指定する:
fig.grdcontour(
...,
annotation=’<間隔>+f<フォントサイズ>’,
...,
)
上付き・下付き文字
'@+<文字>@+'
'@-<文字>@-'
上記のいずれかを使う(すなわち「@+」または「@-」で挟む)と,ラベルやタイトルにおいて上付き,下付き文字を入力できる.
LaTeX形式での数式
@[<text>@[
ただし,事前にLaTeXがインストールした上で,パスを通してどこからでもLaTeXのコマンドを呼び出せるようにしておく必要がある.
LaTeXが正しくインストールされていないと 「 latex is not installed or not in your executable path - cannot process LaTeX to DVI. 」 というエラーが出て失敗する.
ギリシャ文字
数式に使われるギリシャ文字は,フォントの種類を指定することで利用できる.
@%12%<text>@%%
または
@~<text>@~
文字番号12がギリシャ文字のフォントであるため,これを用いるとギリシャ文字を入力できる.ギリシャ文字は対応するアルファベットで指定する.例えば「{{< math >}} $\tau」$ {{< /math >}}なら「t」と入力する.
「度(°)」
@.
普通に「°」と入力しようとしても文字化けしてうまくいかない.しかし「@.」と入力すると「°」を入力することができる.ラベルでも軸でもどこでも使える.
Octal codeによる入力
文字コードによる入力もできる(図*※相互参照無効*. https://docs.generic-mapping-tools.org/6.4/cookbook/octal-codes.htmlより).
数学記号の入力もこれでとりあえずは可能.文字によってはもっと楽な方法もあるだろうが.
Symbolは@~で挟む.ZapfDingbatsは@%34%<code>@%%で入力.ただし,pythonではバックスラッシュが特殊文字扱いなので,連続で入力してバックスラッシュを認識させるか,文字列の最初に「r」を付け加えて特殊文字を無効にする必要がある:
"@~\\<code>@~"
または
r"@~\<code>@~"

Octal codeの入力用テーブル.
色の指定
典型的な色は’red’のように文字列で指定できる. また,’#<rrggbb>‘の形でRGBの16進数表記で自由に色を指定可能.
透明度
# plot等の引数penやfillでのカラー指定において
'<color>@<透明度0-100>' # 0:透明,100:不透明
# 一部コマンドにおいて
transparency = <透明度0-100>
メソッドによって透明度の指定方法が異なるが,線の色,単色塗りつぶしでは@で透明度を指定できることが多い. transparencyはcmapを使う場合や,描画対象全体を透過させる場合に用いることが多い.
カラーマップ
標準カラーパレット
参照)https://docs.generic-mapping-tools.org/6.2/cookbook/cpts.html(図*※相互参照無効*)
標準カラーマップ.
なおデフォルトのカラーパレットは’seis’である.‘jet’や’rainbow’と似ているが, それよりはやや落ち着いた感じの色合いになっている.
カラーマップの指定
pygmt.makecpt(
cmap = '<cmap>',
transparency=<透過度>,
series=[0, 100],
reverse = <True/False>,
)
transparency=で半透明なカラーマップを作成できる.値の範囲はseriesで指定できる.カラーマップの向きを逆転させたいときはreverse=Trueとする.