GMT6.5のサンプルスクリプトを試す11~plot -Sb -SB~
はじめに
-Sbまたは-SBを使うことで棒グラフを描ける。
-Sbが垂直方向、-SBが水平方向に延びる形の棒グラフになる。
-Sb 鉛直(縦)棒グラフ
echo 1 1 > t.txt
echo 2 2 >> t.txt
gmt begin Sb1 png
gmt plot -R0/3.5/0/3.5 -JX6/3 -Ba1g1 -BSW -Sb1 -W0.1 -Glightblue t.txt
echo 1 2 | gmt plot -R0/3.5/0/3.5 -JX6/3 -Sb1+b1 -W0.1 -Glightblue -X6.5 -BSW -Ba1g1
echo 2 2 | gmt plot -R0/3.5/0/3.5 -JX6/3 -Sb1+B1 -W0.1 -Glightblue
gmt end
-Sbの後の数字で棒グラフの幅を指定できる。
垂直方向の棒グラフなら、入力する数値は普通にx,yと書けばよい。
-Sb1に+bを付けると、+bの後に指定したY座標から描画される。
上の例では1,2
で入力しているが、+b1としているので1,1から上に1だけの大きさになっている。
つまり、Y座標1より下は表示されない。
-Sbに+Bを付けると、+Bの後ろに指定したY座標から棒グラフが描画される。
上の例では2,2
で入力しているが、+B1としているので2,1から上に2の長さの棒が描かれている。
つまり、普通の積み上げグラフを描くには--Sb/-SBに+Bを付けるとよいだろう。
積み上げ俸グラフと集合俸グラフ
さらに+i,+v,+sのオプションもあるのでためしてみよう。
これらのオプションは複数のデータを同時に示したり比較できるようにするために使える。
+vと+iにはデータ個数の情報も必要になる。
+v:棒グラフを重ねる(数字が順になっている必要がある。そうしないと隠れる)
+i:積み上げ棒グラフ
+s:横に並べる(集合棒グラフ)
ついでに-SBで水平方向の棒グラフも描いてみる。
ただし、垂直用と水平用で入力するデータの形式が異なるので注意が必要。
#-Sb鉛直棒グラフ用
cat << EOF > t2.txt
1 0.2 0.4 0.6 0.8 1 #X, y1, y2, y3….
2 0.3 0.6 0.9 1.2 1.5 # X, y1, y2, y3….
EOF
#-SB 水平棒グラフ用
cat << EOF > t3.txt
0.2 1 0.4 0.6 0.8 1.0 #x1, Y, x2, x3…
0.3 2 0.6 0.9 1.2 1.5 # x1, Y, x2, x3…
EOF
水平用はX方向に棒を延ばすため、Y座標が必ず2番目に来る必要があるため、データの入れ方に少し違和感があるが...まぁ仕方ない。
一応、両方とも同じ意味を示す。
それぞれ、0.2ずつ、0.3ずつ数を大きくしている。
複数の棒グラフを並べる際に、-Cで色を指定できる。
この色はmakecptから任意のカラーパレットで作成する。
色の指定はn番目で指定されるので、0~n-1(今回はn=5個なので4)でカラーパレットを作成する。
Nは整数値なので0.1刻みにする必要はないが、個人的に0.1刻みで5までの範囲でカラーパレットを作ったときの色合いが好きだったので、少し変なカラーパレットを作っている。これはお好みで。
gmt begin Sb2 png
gmt makecpt -Cseis -T0/5/0.1 -Z
gmt plot -R0/3/0/5 -JX3/3 -Ba1g1 -BSW -Sb0.5+v5 -W0.1 -C t2.txt #➀
gmt plot -R0/3/0/5 -JX3/3 -Ba1g1 -BSW -Sb0.5+i5 -W0.1 -C t2.txt -X3.5 #➁
gmt plot -R0/3/0/5 -JX3/3 -Ba1g1 -BSW -Sb0.5+v5+s -W0.1 -C t2.txt -X3.5 #➂
gmt plot -R0/3/0/5 -JX3/3 -Ba1g1 -BSW -Sb0.5+i5+s -W0.1 -C t2.txt -X3.5 #➃
gmt plot -R0/5/0/3 -JX3/3 -Ba1g1 -BSW -SB0.5+v5 -W0.1 -C t3.txt -Y-3.5 -X-10.5 #➄
gmt plot -R0/5/0/3 -JX3/3 -Ba1g1 -BSW -SB0.5+i5 -W0.1 -C t3.txt -X3.5 #➅
gmt plot -R0/5/0/3 -JX3/3 -Ba1g1 -BSW -SB0.5+v5+s -W0.1 -C t3.txt -X3.5 #➆
gmt plot -R0/5/0/3 -JX3/3 -Ba1g1 -BSW -SB0.5+i5+s -W0.1 -C t3.txt -X3.5 #➇
gmt end
- ➀➄はグラフをすべて重ねた状態
- ➁➅はごく普通の累積グラフ
- ➂➆は+sを付けることで、グラフを並べて表示
- ➃➇は累積させたものを並べて表示
➁➅の累積表示と、➂➆の並べて表示はよく使うと思われる。
➀➄をするならば➂➆で描いたほうが分かりやすいだろう。
➃➇については、もはや別のデータになっているのでやらないほうがいい。➁➅にしないと勘違いされるだろう。
まとめ
- -Sb/-SBでは+vオプションは単体で使うより+sと一緒に使ったほうがよい。
- +iと+sは同時に使ってはいけない。勘違いされる。
Discussion