1

gnuplot は生データ ファイルから boxplot を作成できますか? このように、すでに計算された中央値、四分位数などから箱ひげ図をプロットする方法は知っていますが、生データファイルからはどうすればよいでしょうか?

生データ ファイルの各行には、1 つのテスト結果があります。

4

3 に答える 3

2

gnuplot 4.5 (現在の cvs 開発バージョン) にはこの機能があります。

現在のところ、これは、ソースhttp://gnuplot.sourceforge.net/development/index.html#DownloadCVSから自分で gnuplot をコンパイルする必要があることを意味します。

それが完了したら、デモ ファイルを次に示します: http://gnuplot.sourceforge.net/demo_4.5/boxplot.html

于 2011-10-21T16:04:57.807 に答える
1

箱ひげ図に必要なデータを計算するには、外部プログラムを使用する必要があると思います。私はawkを使ってきましたが、どんなプログラムでもその場で使えます。平均値と分位数ではなく、生データの各行で始値/終値/最小値/最大値を計算したことに注意してください。

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

junk.datファイル内の次のデータを使用します。

   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

得られるプロットは次のとおりです。

ここに画像の説明を入力

于 2011-08-11T18:15:56.510 に答える
0

あなたの質問を正しく理解し、平均値を計算する方法を探している場合は、次のようにすることができます。

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

次のプロットが得られます。

上記のスクリプトのプロット

これがあなたが探していたものであることを願っています。

于 2011-08-11T09:49:26.950 に答える