GMTサンプルスクリプトページ@東京海洋大学

HOME | sample.1 | sample.2 | sample.3 | sample.4 | sample.5 | sample.6 | sample.7 | sample.8 | sample.9 | sample.11 |

1. 2次元プロットを作る
まずは2次元プロットの書き方を知っておきましょう。
最初の3行はいまはおまじないと考えてスキップしてください。UNIX/Linux環境でのシェルです。
はじめにも書きましたが、Windowsで使いたいときは
・コメントアウトに用いる”#”は”REM”
・$のついている変数はすべて名前で指定する
の2点に注意すれば問題ありません。
入力ファイルは時間(年)・データ ・年・日・標準偏差・分散・サンプル数の情報が書かれた7列のアスキーファイルです。
以下のシェルは入力ファイルから必要な情報を抜き出し、クロロフィルの時系列データをプロットするというものです。
Y軸はクロロフィルの値なので対数軸であることに注意しましょう。
入力ファイル サンプルシェル 出力ファイル
timeseries-chl-1.out 以下に示す Chla-timeseries.ps
#!/bin/csh -f 
gmtset ANOT_FONT_SIZE 12 ANOT_FONT 4
gmtset LABEL_FONT_SIZE 12 LABEL_FONT 4 ANOT_OFFSET 0.1c
#-------------------------------------------------------------------------------------------------
# 入力・出力ファイル名を指定
#------------------------
set infile=timeseries-chl-1.out
set ofile=Chla-timeseries.ps

#-------------------------------------------------------------------------------------------------
# 図の範囲・大きさ・中間ファイル名を決定
#---------------------------------
set rr=1998/2004/0.1/25
set jj=3c/5cl                     #<====== Y軸は ”l”をつけて対数軸にする
#set jj=3c/0.6c
set plt=plt.txt
set plt2=pltsd.txt

#-------------------------------------------------------------------------------------------------
# 図の範囲・大きさ・中間ファイル名を決定 gawkに関してはどこかで勉強してください。
# やっていることは4列のデータから2列・もしくは3列のデータを抽出しているだけです。
#-----------------------------------------------------------------------
gawk '$1<2004 && $2!=0 {print $1,$2}' $infile >! $plt     #<====== 時間・データの列のみを抽出
gawk '$1<2004 && $2!=0 {print $1,$2,$5}' $infile >! $plt2  #<====== 時間・データ・標準偏差の列を抽出

#-------------------------------------------------------------------------------------------------
# 図を書く 
# -Bオプション a1f0.083 X軸はラベルを1ごとに、メモリを0.083ごとにつける
#           2g3 Y軸はラベルを2ごとにつける g3に関しては数字を変えて調べてください。
#---------------------------------
psxy $plt -R$rr -Jx$jj -Sc0.1 -G0 -Ba1f0.0833332:"Year":/2g3:"SeaWiFS chl-a(mgm@+-3@+)":WSen:."": -K -X3c -Y5c>! $ofile
psxy $plt -R$rr -Jx$jj -W3/0/0/0 -B -K -O >> $ofile
psxy $plt2 -R$rr -Ey/1/0/0/0 -Jx$jj -Sc0.1 -B -K -O >> $ofile

rm -fr $plt $plt2
exit