UP

gnuplotでデータファイルのプロット

実験データをプロットするときそのままプロットするのではなくオフセットを 調節したり縦軸の規格化、横軸方向のシフトを行ってからプロットしたい時が 多々ある。gnuplot上でそれを行う方法。

下のようなデータがあったとする("test.dat"):
0.600000 1.700010
0.800000 1.700077
1.000000 1.700488
1.200000 1.702617
1.400000 1.711964
1.600000 1.746613
1.800000 1.854761
2.000000 2.137851
2.200000 2.755615
2.400000 3.868691
2.600000 5.496668
2.800000 7.363962
3.000000 8.900308
3.200000 9.500000
3.400000 8.900308
3.600000 7.363962
3.800000 5.496668
4.000000 3.868691
4.200000 2.755615
4.400000 2.137851
1列目を横軸、2列目を縦軸として加工なしでプロットするには
plot "test.dat"
plot "test.dat" u 1:2
plot "test.dat" u ($1):($2)
のいずれでもいい("u"は"using"の略)。 なお0や$0とすると行番号0,1,2,3,...が入るようだ。

raw data
(click to enlarge)



3番目の書き方で$1や$2はそれぞれ1列目、2列目から読み込んだ値を 表すのでこれに手を加えて
plot "test.dat" u (-$1+3.2):(($2-1.7)/7.8)
などと書くことにより操作ができる(組み込み関数やユーザー定義関数も使える)。


raw data
(click to enlarge)


2014.07
2014/07/25 12:33:12 更新