GMT6.5のサンプルスクリプトを試す8~plot -Sv~
はじめに
前回のGMT6.5のサンプルスクリプトを試す7~plotその2~でベクトルを描いたので、今回はいろんなベクトルを描いてみることにする。
GMTでベクトルを描くことは地殻変動界隈では一般的だが、GMT5になってからGMT4の描き方と大きく変わったことで挫折する者が続出したと言われている。そこでGMT6でのベクトルの描き方を一通り試してみる。
参考
GMT6.5.0 Documentation plot
座標・描く位置・大きさ
まずはベクトルの座標・描く位置・大きさに関連してシンプルに9パターンほど試してみる。入力ファイルの3,4カラム目は全て同じで1,1
とした。
gmt begin sv1 png
echo 10 10 1 1 | gmt plot -R0/100/0/20 -JX15c/5c -Baf -Sv1 #➀
echo 20 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv2 #➁
echo 30 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+z1 #➂
echo 40 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+z2 #➃
echo 50 10 1 1 | gmt plot -R0/100/0/20 -JX -B -SV1 #➄
echo 60 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+jc #➅
echo 70 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+je #➆
echo 80 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+tb0.5 #➇
echo 90 10 1 1 | gmt plot -R0/100/0/20 -JX -B -Sv1+s #➈
gmt end
左から➀~➈の順に描かれている。
➀: 長さ1,左から半時計まわりに1度の線
➁: ➀とほぼ同じ(-Svの後ろは矢印の頭の大きさなので、矢印を付けていないため意味がない)
➂: +z1を付与したことで、1,1がdx,dyとなる。
➃: ➂と似ているが+z2としたため、➂の倍の長さになる。
➄: 大文字Vを使って-SVとすると、北から時計まわりに1度の線になる。
➅: +jcを付与することで、➀の線(ベクトル)の真ん中に与えた座標値(60,10)になるようにできる。
➆: ➅とほぼ同じで、+jeで終点が与えた座標値(70,10)になるようにできる。
➇: +tb0.5でベクトルの一部を消すことができる。bで起点から0.5cm消している。+teとすると終点から消すことがきるらしい。
➈: +sにすると、3,4カラム目が終点座標になる。3,4カラム目は「1,1」としているので、(90,10)から(1,1)への線になっている。
ベクトルの形
続いて、ベクトルの形状について見ていこう。
まず、-Svの次の数字が矢印の頭部分の大きさを指定できるらしい。
そして、+bでベクトルの始点を付与し、その頭の形をa:矢印、c:円、s:四角、i:尾、t:終端線、A:開口矢印、I:plain open tailになるらしい。
aまたはAのときにlかrを付けると片側だけになるとのこと。+eで終点の図形を付与するとのこと。
入力データは(x,y,dx,dy)で入れる場合が多いと考えられるので、+z1で統一することにした。
gmt begin sv2 png
echo 10 2 1 1 | gmt plot -R0/100/0/5 -JX15c/3c -Baf -Sv0.1+z1 #➀
echo 20 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.1+z1+e #➁
echo 30 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+b #➂
echo 40 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.3+z1+bt+et #➃
echo 50 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+bt+et #➄
echo 60 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+bc+ec #➅
echo 70 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+bs+es #➆
echo 80 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+bi+ei #➇
echo 90 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+bA+eA #➈
gmt end
図のサイズは少し小さくした。
➀: +z1以外のオプションなし
➁: +eで終点に矢印(+eaでもよい)頭サイズを0.1。
➂: +bで起点に矢印(+baでもよい)頭サイズを0.2。ベクトルの向きが逆になっているように見える。
➃: 頭サイズを0.3にしたところ、線しか描画されなくなった。頭サイズの大きさはベクトルの長さに対して限界があるようなので、以下0.2にする。
➄: 頭サイズを0.2にして両側にt:終端線を付与。
➅: +bc+ecで両側に〇
➆: +bs+esで両側に🔲
➇: +bi+eiで両側に矢尻の尾の部分のような図
➈: +bA+eAで線だけの矢印の先端
矢じりの形
ベクトルと言えば終点に矢印を書くのが一般的だと思うのでそのように書いてみた。
gmt begin sv3 png
echo 10 2 1 1 | gmt plot -R0/100/0/5 -JX15c/3c -Baf -Sv0.2+z1+e #➀
echo 20 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+e+a60 #➁
echo 30 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+eal #➂
echo 40 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+ear #➃
echo 50 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+e+gred #➄
echo 60 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+eI #➅
echo 70 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+m #➆
echo 80 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+e+n2 #➇
echo 90 2 1 1 | gmt plot -R0/100/0/5 -JX -B -Sv0.2+z1+e+p1.5 #➈
gmt end
➀: 頭サイズ0.2のデフォルトの終点矢印
➁: +a60で矢印の頭部分の角度を60度に
➂: +eal(+elでもよい)で左側のみ矢印
➃: +ear(+erでもよい)で右側のみ矢印
➄: +gredで頭を赤色に塗りつぶし
➅: +eIでplain open tail
➆: +mで真ん中に矢印(+eと+bを同時に使えない)
➇: +nでベクトルの長さに応じて矢印の大きさを変える。
➈: +p1.5で線を太くした(実際のところ、矢印が塗りつぶされてしまった)
Discussion