実験データをプロットする際に有用な技法として,エラーバー,対数スケールの使い方とデータを加工してプロットする方法を説明します.
エラーバー
実験データのばらつく程度を表示するにはエラーバーを描きます.実際にやってみましょう.まずは次のサンプルファイルを gnuplot のカレントディレクトリにダウンロードしてください.カレントディレクトリについての説明は 28.2 簡単なグラフの描き方 にあります.
sampledata2.txt
なお,このサンプルファイルは 2011 年 11 月に公表された 年齢別体格測定の統計 から引用し,6 歳から 19 歳までの男子身長の平均値と標準偏差を抜き出して作りました.
ダウンロードしてから gnuplot に次のように入力すると 1 列目を x 座標,2 列目を y 座標とし,そして 3 列目を上下方向のエラーバーの長さとするグラフが描かれます.
reset
plot "sampledata2.txt" using 1:2:3 with yerrorbars
実験データのプロットでは上下方向のエラーバーの長さを別にしたいこともあります.たとえばデータの平均値をプロットし,最小値から最大値までの間にエラーバーを描く場合があります.そのためのサンプルとして,次のファイルをカレントディレクトリにダウンロードしてください.
sampledata3.txt
このデータは2011年の東京における日ごとの最高気温を1ヶ月ごとにまとめ,平均,月最高,月最低を並べた表です.気象庁のウェブサイトにある気象統計情報から引用し,gnuplot で扱いやすいよう書式を加工しました.
ダウンロードが終わったあと次のように入力すると,上下方向に異なる長さのエラーバーが描かれます.
reset
plot "sampledata3.txt" using 1:2:3:4 with yerrorbars
このように using に 4 つの列を渡すことで x 座標,y 座標,エラーバーの上端,エラーバーの下端を順番に指定できます.
対数スケール
グラフの軸を対数スケールに変更するには set コマンドで logscale を指定します.たとえば次のように入力すると,y 軸を対数スケールとして直線 y=x のグラフが描かれます.
set logscale y
plot x
その結果 y=log(x) のグラフが見えます.
x 軸にも同様の方法で対数スケールの設定ができるので, x, y 軸両方を対数スケールにすれば両対数グラフが描けます.また,対数スケールから普通のスケールに戻したい場合 unset コマンドを用いて次のように入力します.
unset logscale y
データを加工したプロット
実験データのプロットをする際,実験データの値に何かの関数を施してからプロットしたいと思うことがあります.たとえばすぐ上で説明した対数プロットはその典型例です.他にも 1/x と log y の値をプロットする手法は Arrhenius プロットと呼ばれ,化学反応の速度因子を調べるときに用いられます.
たとえば gnuplot で Arrhenius プロットをするには,plot コマンドを呼ぶ際に次のようにします.
plot "data.txt" using (1/$1) : (log($2))
このように using の後ろに関数をもってくることができます.関数に値を代入する際は,列番号に $ をつけます.関数を呼ぶときは必ず式全体をかっこで括る必要があるので,気をつけてください.