2017-01-30 84 views
1

私はgnuplotを初めて使用しました。私は望む通りにデータをプロットするthis questionを追跡しました。しかし、私は非常にエラーバーを含めたいと思います。私は、その後のように変更するスクリプトをプロットしてみエラーバーを含むgnuplotのクラスタ化された棒グラフ

Broswer,Video,min,max,Audio,min,max,Flash,min,max,HTML,min,max,JavaScript,min,max 
IE,30%,5,5,10%,5,5,25%,5,5,20%,5,5,15%,5,5 
Chrome,20%,5,5,5%,5,5,35%,5,5,30%,5,5,10%,5,5 

は、次のとおりです:次のように私は、最小値と最大エラー列を追加することによって、そうすることを試みた私は読書から理解して何から

set terminal pdf enhanced 
set output 'bar.pdf' 

set style data histogram 
set style histogram cluster gap 1 

set style fill solid border rgb "black" 
set auto x 
set yrange [0:*] 
set datafile separator "," 

plot 'data.dat' using 2:xtic(1) title col with yerrorbars, \ 
     '' using 3:xtic(1) title col with yerrorbars, \ 
     '' using 4:xtic(1) title col with yerrorbars, \ 
     '' using 5:xtic(1) title col with yerrorbars, \ 
     '' using 6:xtic(1) title col with yerrorbars 

これはまた、エラーバーをプロットする必要がありますが、私はエラーを取得する:このエラーをグーグルで

"plot2", line 16: Not enough columns for this style

は、それが最初の列が非数値であることとは何かを持っていることを私に知らせます。私はthis oneを含むいくつかの提案を試みましたが、これまでのところ何も働いていません。だから、どんな提案?ありがとう。

答えて

1

このエラーは、yerrorbarsプロットスタイルにプロット用に複数の列が必要であることを示しています(xtic(1)は特殊な部分を取ります)。ドキュメントを見ると、2つ、3つまたは4つの列を使用できることがわかります。 with yerrorbarsは完全に新しいプロットスタイルを選択しており、ヒストグラムはまったく得られないので、詳細には詳しくは触れません。

クラスタ化されたヒストグラムをプロットするためには、あなたがヒストグラムのスタイル定義にerrorbarsを追加する必要があり、そしてもちろん、あなたがYERROR値の列を与える必要があります。

set style data histogram 
set style histogram cluster gap 1 errorbars 

set style fill solid border rgb "black" 
set auto x 
set yrange [0:*] 
set datafile separator "," 

plot 'data.dat' using 2:3:xtic(1) title col(2),\ 
     '' using 5:6 title col(5), \ 
     '' using 8:9 title col(8), \ 
     '' using 11:12 title col(11), \ 
     '' using 14:15 title col(14) 

あるいは、短い表記で

plot for [i=2:14:3] 'data.dat' using i:i+1:xtic(1) title col(i) 

enter image description here

あなたは明示的に3番目の列を追加する必要がありますよりも、最小値と最大値をプロットする必要がある場合。しかし、最後の2つの列は、デルタ値ではなくyminとymaxです。あなたからのデータファイルのエラーを判断すると、データファイル内の値はデルタあるので、plotコマンドは次のようになります。

plot for [i=2:14:3] 'data.dat' using i:(column(i) - column(i+1)):(column(i) + column(i+2)):xtic(1) title col(i) 
+0

だから私はヒストグラムと最小/最大エラーバーを持つことが可能ではないことを推測しています?ありがとう。 – John

+0

あなたは私の更新を見ることができます。明示的な最小値と最大値が必要なのかどうかはわかりませんでしたので、最初は簡単なバージョンです; – Christoph

+0

ループを理解するのに時間を費やしましたが、これは完璧です。ちょうど私が必要なもの!ありがとう!! – John

関連する問題