psvelo メモ †公式 doc †Modules (Classic Mode) » psvelo ベクトル場を矢印で描いたり,楕円を描いたりできる. ベクトル場,矢印 †gmt psvelo -J -R -B -Se[velscale]/[confidence]/[fontsize] -A[params] -G[fill] inputfile.txt > output.ps -J, -R, -B †いつもの共通オプション.省略. input file †例えば gradient.txt のようなファイル.
それぞれの点で,各列に以下の情報が格納されているファイルを入力する.
上記の配列は -Se を指定した場合で,-Sr などの場合は入れるべき変数が異なる. -Se[velscale]/[confidence]/[fontsize] †
-A[params] †必須ではないがほとんどの場合で必要.矢印の形状について指定する. -A0.03/0.25/0.10 # LineWidth/HeadLength/HeadSize, 数値は例 という方法と -A+a25+e # vector attributes, 数値は例 という方法がある.vector attributes の指定子は
-G[fill] †fill attributes で指定した矢印の着色.-A から vector attributes を指定した場合は -A のオプションが優先される(たぶん). Gの場合は Arrow Head も線もどちらも同じ色になる. 例1, 2種類で描いてみる †#!/bin/bash # input file input="gradient.txt" # params and options wid=12 # paper size proj="X$wid" # -J region="-3/3/-3/3" # -R axes="-Ba1f1 -Bx+lX-axis -By+lY-axis -BWSne+ggray95" # -B # -Se velscale / confidence / fontsize sc=0.4 conf=0.0 fs=12 # Output 1 psname="psveloA1.ps" # -A LineWidth / HeadLength / HeadSize LW=0.03 HL=0.25 HS=0.10 # vector field gmt psvelo -J$proj -R$region $axes -A$LW/$HL/$HS -Gblack -Se$sc/$conf/0 -P -V -K $input > $psname # arrow scale gmt psvelo -J -R -A$LW/$HL/$HS -Gblack -Se$sc/$conf/$fs -P -V -O <<EOF >> $psname # lon lat u1 u2 sig1 sig2 cor (option) name -2.00 2.80 1.00 0.00 0.00 0.00 0.0 1.0 [unit] EOF ## Output 2 psname="psveloA2.ps" arrow="+a25+e+gred+p0.5" # Vector Attribute # vector field gmt psvelo -J$proj -R$region $axes -A$arrow -Gblack -Se$sc/$conf/0 -P -V -K $input > $psname # arrow scale gmt psvelo -J -R -A$arrow -Gblack -Se$sc/$conf/$fs -P -V -O <<EOF >> $psname # lon lat u1 u2 sig1 sig2 cor (option) name -2.00 2.80 1.00 0.00 0.00 0.00 0.5 1.0 [unit] EOF 例2, 矢印のスケールを図の外側に配置する †例1のようにオプションをベクトル場を描く場合と同一にすると,図の内側にしかスケールを配置できない. #!/bin/bash # input file input="gradient.txt" # Output psname="psvelo.ps" # params and options wid=12 # paper size proj="X$wid" # -J region="-3/3/-3/3" # -R axes="-Ba1f -Bx+lX-axis -By+lY-axis -BWSne+ggray95" # -B # -Se velscale / confidence / fontsize sc=0.4 conf=0.0 fs=12 # -A LineWidth / HeadLength / HeadSize LW=0.03 HL=0.25 HS=0.10 # vector field gmt psvelo -J$proj -R$region $axes -A$LW/$HL/$HS -Gblack -Se$sc/$conf/0 -P -V -K $input > $psname # scale (inside) gmt psvelo -J -R -A$LW/$HL/$HS -Gblack -Se$sc/$conf/$fs -P -V -O -K <<EOF >> $psname # lon lat u1 u2 sig1 sig2 cor (option) name -1.50 2.80 1.00 0.00 0.00 0.00 0.0 (in) 1.0 [unit] EOF # scale (outside) gmt psvelo -Y1.0 -J -R -A$LW/$HL/$HS -Gblack -Se$sc/$conf/$fs -P -V -O <<EOF >> $psname # lon lat u1 u2 sig1 sig2 cor (option) name -1.50 2.80 1.00 0.00 0.00 0.00 0.0 (out) 1.0 [unit] EOF |