生データファイルからボックスプロットを作成できますか?私はすでに計算された中央値、四分位数などのボックスプロットをどのようにプロットできるのかを知っていますlike this - しかし、生データファイルからどうですか?gnuplot:生データからボックスプロットを作成する
生データファイルの各行には、1つのテスト結果があります。
生データファイルからボックスプロットを作成できますか?私はすでに計算された中央値、四分位数などのボックスプロットをどのようにプロットできるのかを知っていますlike this - しかし、生データファイルからどうですか?gnuplot:生データからボックスプロットを作成する
生データファイルの各行には、1つのテスト結果があります。
私が正しくあなたの質問を理解し、あなたがこのような何かを行うことができ、平均値を計算する方法を探している場合:
calc_mean(x1,x2,x3) = (x1+x2+x3)/3
calc_sum(x1,x2,x3) = x1+x2+x3
get_min(x1,x2,x3) = x1 < x2 ? (x1 < x3 ? x1 : (x2 < x3 ? x2 : x3)) : (x2 < x3 ? x2 : x3)
get_max(x1,x2,x3) = x1 > x2 ? (x1 > x3 ? x1 : (x2 > x3 ? x2 : x3)) : (x2 > x3 ? x2 : x3)
plot "Data.csv" u 0:(calc_mean($1, $2, $3)) t "Mean" w l, \
"" u 0:(calc_sum($1, $2, $3)) t "Sum" w l, \
"" u 0:(get_min($1, $2, $3)) t "Min" w l, \
"" u 0:(get_max($1, $2, $3)) t "Max" w l
上記のスクリプトは、平均、合計、最小値を算出データラインの最大値。 usingディレクティブの0
は、単にデータラインのインデックスをx座標値として取ります。次Data.csv
で
:
私は、これはあなたが探していたものであると思います:
0.62614 0.50293 0.62078
0.63789 0.58924 0.71288
0.16297 0.77453 0.82417
0.20703 0.22424 0.33596
0.57829 0.96545 0.60737
あなたは、次のプロットを取得します。
私はボックスプロットに必要なデータを計算するために外部プログラムを使用しなければならないと思います。私はawkを使ってきましたが、どんなプログラムでも使用できます。私は、平均値と分位値の代わりに、生データの各ラインの開始/終了/最小値/最大値を計算したことに注意してください。 junk.dat
ファイルに次のデータで
set xrange [-1:9]
plot "< awk '{sum=0; opening=$1; closing=$NF; min=$1; max=$1; \
for (i=1; i<=NF; i++) {sum=sum+$i; if ($i<min) min=$i; if ($i>max) max=$i}; \
print sum/NF, opening, closing, min, max}' \
junk.dat" us 0:2:4:5:3 w candle notitle
:
5.532 5.040 4.962 19.314 5.136
10.004 4.592 5.836 6.999 7.823
8.887 6.335 5.545 5.056 6.216
4.341 4.552 4.512 4.009 5.811
4.724 4.869 5.016 2.593 5.662
4.555 5.472 4.866 5.559 -0.608
6.974 3.838 2.953 6.630 2.753
5.571 8.112 3.261 7.029 4.375
3.497 5.200 6.555 5.311 8.204
ここであなたが得るプロットです:
ただのgnuplot 4.5(CVSでは、この全体に自分自身を来ました現在の開発版)にはこの機能があります。
現在、ソースからhttp://gnuplot.sourceforge.net/development/index.html#DownloadCVSというgnuplotをコンパイルする必要があります。
デモファイルは次のとおりです。http://gnuplot.sourceforge.net/demo_4.5/boxplot.html