第5章 線のプロット

第5章 線のプロット

線分・折れ線

plot(
      ..., 
      pen = '<weight,color,style>', #ex.) '1p,black,.'
      ...,
      )

データのほかに単純にpenだけを与えると,点データの座標を順に結ぶ折れ線を描画できる. 直線や半直線をプロットするメソッドはないようだ.

penの3つ目の要素でスタイルを設定できる(図*※相互参照無効*).

線のスタイル.

線のスタイル.

曲線(Bezie Spline)

plot(
    ...,
    pen = '<pen>+s',
    ...,
    )

penに+sオプションでベジェ曲線によるスプライン曲線を描ける. ただしpen引数は単に「’+s’」だけではいけないようで,必ずpenの設定を何か入れないといけない. デフォルトスタイルで良いのなら「’,+s’」とコンマを前に入れればよい.

ただし,styleで装飾(前線)やテキスト付きの直線にしている場合はこのなめらかにするオプションは使えず,純粋な線だけを描く場合にしか適用できないようである.

例)点をなめらかに結ぶ曲線.出力: 図*※相互参照無効*

import pygmt
import numpy as np

x = np.linspace(-1*np.pi,np.pi,5)
y = np.sin(x)

fig = pygmt.Figure()
fig.plot(
    x = x,
    y = y,
    pen = '1p,red,+s',
    projection = 'X7c/4c',
    region = 'a',
    )
fig.plot(
    x = x,
    y = y,
    style = 'c5p',
    pen = '0.5p',
    )
fig.basemap(
    frame = ['af'],
    )
fig.show()
補間によるなめらかな曲線(赤).黒円で示した5点から赤の曲線を引いている.

補間によるなめらかな曲線(赤).黒円で示した5点から赤の曲線を引いている.

装飾の付加(前線・プレート境界等)

気象の前線や,プレート境界(沈み込み帯,横ずれ境界など)などをプロットしたいときに(図*※相互参照無効*).

plot(
    ...,
    style = 'f<図形間隔>/<図形size>[+<l/r>][+<図形の種類>][+o<図形位置のずらし距離>]',
    ...,
    )

[leftmargin=7em]

  • <図形間隔>: 正の数にすれば図形の間隔.負の数にすれば図形の数で指定できる.

  • +<l/r>: left or right.指定しなければcenterになる.

  • +<図形の種類>: box, circle, fault (default), slip, or triangle.bやcを+l/rと使うと半分の四角や半円になるようだ.

  • +i; invisible: 直線を消して図形のみにできる.

  • +p; pen: 図形のpenを曲線と別に指定できる.図形の枠線をなくしたい場合は+pとのみ入力する.

    参考)PyGMT公式

    https://www.pygmt.org/latest/gallery/lines/linefronts.html#sphx-glr-gallery-lines-linefronts-py

私鉄の線路のような「キ」の字スタイルについては,図形を示す記号はいらない.他の場合はcなど図形の種類を+で指定する.

「f」は"line \underbar{f}ronts"の意味だと思われる.

要するに最低「f<間隔>/<size>+l+t」とすれば寒冷前線や沈み込み帯が描ける. +tがtriangleを表す.

図形の位置が気に入らない場合(曲線の角に図形が入ってしまう場合など)は,+oで図形の位置を曲線に沿ってずらすことができる.

線の装飾の一覧.

線の装飾の一覧.

閉曲線(多角形)

plot(
    ...,
    close = '',
    ...,
    )

通常の折れ線を引く際に引数「close=’’」を加えることで始点と終点を閉じることができる. 例えばS-netの観測点を結んでケーブルを描くときに使える. 公式ドキュメントにはclose=にpenなどを指定できると書かれているができなかった. 別途pen引数を使用することで辺の色を指定できる. 多角形の塗りつぶしをする場合もcolor引数で色を指定すれば良い.