Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【gnuplot5】エラーバーを付けたい

昔書いた気もするけど、グラフにエラーバーを付けたことがあるのって4年生以来だから一体何年舞なんだよ・・・って感じだ・・・・
とはいえ、実際に測定したものにエラーバーを付けるのではなくて
自分の場合ほとんどがモンテカルロシミュレーションを繰り返しやって、それにエラーバーを付ける程度の使い方だけど・・・・


どういうエラーバーを付けられるかは、次のページを見てもらうのが一番早い

■ 参考 : gnuplot demo script: mgr.dem


X軸方向のエラーバー、Y軸方向のエラーバー、X軸とY軸両方に伸びてるエラーバー全部できる
ただし、ちょっとめんどくさい制約が・・・・
詳細は次のページに書かれてる

■ 参考 : 34.2 Errorbars


まずはデータ作り

% seq 1 20 > hoge.txt
% awk '{x=rand*10; print $1, x, sqrt(x)}' hoge.txt > foo.txt

% cat foo.txt
1 8.40188 2.8986
2 3.94383 1.98591
3 7.83099 2.79839
4 7.9844 2.82567
5 9.11647 3.01935
6 1.97551 1.40553
7 3.35223 1.83091
8 7.6823 2.7717
9 2.77775 1.66666
10 5.5397 2.35366
11 4.77397 2.18494
12 6.28871 2.50773
13 3.64784 1.90993
14 5.13401 2.26584
15 9.5223 3.08582
16 9.16195 3.02687
17 6.35712 2.52133
18 7.17297 2.67824
19 1.41603 1.18997
20 6.06969 2.46367


plot "foo.txt" u 1:2:3 w e
でエラーバー付きのグラフが書ける


u 1:2:3だけではダメで、それにw e(with errorbarsの略)を付ければOK

plot "foo.txt" u 1:2:(sqrt($2)) w e
でも同じプロットが書けるはず



データ点を線で結びながら、エラーバーを付ける場合は2回プロットしないといけなくて、

plot "foo.txt" u 1:2:3 w e, "" u 1:2 w l lw 2


ここまで調べてわかったのが w eはwith yerrorbarsの略称らしい
他には
w xe : x軸方向のエラーバー
w ye : y軸方向のエラーバー
w xye : x軸とy軸方向両方にエラーバー
があるらしい

w xyeを使う場合はu 1:2:3:4のように4つ使うデータ列を指定しないといけない
例えば、

plot "foo.txt" u 1:2:($2/10.0):($2/10.0) w xye lc 7
で、


他の形のエラーバーを使いたかったら、以下を参照

■ 参考 : gnuplot demo script: mgr.dem

ランキング参加中です

↓クリックしていただけると嬉しいです〜