2

私はそれらのデータを持っています:

Length  A   B   C   D   E   F   A_err   B_err   C_err   D_err   E_err   F_err
17  0,51    1,4 0   0   0   0,07    0,11    0,33    0   0   0   0,08    
18  1,33    2,49    1,88    0,51    1,21    0,2 0,18    0,43    1,05    0,5 0,5 0,14    
19  2,56    3,83    3,75    0,76    4,22    0,81    0,25    0,53    1,47    0,61    0,92    0,28    
20  8,28    7,22    3,44    5,46    5,16    9,19    0,44    0,72    1,41    1,59    1,02    0,89    
21  29,96   20  15,78   16,65   13,66   62,58   0,74    1,11    2,82    2,6 1,58    1,49    
22  34,16   42,3    56,25   31,51   37,14   16  0,76    1,37    3,84    3,25    2,22    1,13    
23  14,23   16,59   17,03   29,86   21,28   1,55    0,56    1,03    2,91    3,2 1,88    0,38    
24  6,98    4,39    1,72    12,58   9,6 9,54    0,41    0,57    1,01    2,32    1,35    0,9 
25  1,23    1,02    0,16    1,65    4,55    0,05    0,18    0,28    0,31    0,89    0,96    0,07    
26  0,45    0,44    0   0,89    1,76    0   0,11    0,18    0   0,66    0,6 0   
27  0,18    0,1 0   0   1,04    0   0,07    0,09    0   0   0,47    0

このコードを使用して、エラーバーのある素敵なヒストグラムを取得します。

set terminal pngcairo enhanced font "arial,15" fontscale 2.0 size 1600,900 
set output 'length.png'
set style fill solid 0.7 border lt -1
set key inside right top vertical Right noreverse noenhanced autotitles columnhead nobox
set grid ytics
set nokey
set style histogram errorbars linewidth 1 gap 3 title offset character 0, 0, 0
set datafile missing '-'
set style data histograms
set xtics border in scale 1,0.5 nomirror  offset character 0, 0, 0 autojustify
set xtics norangelimit font ",12"
set xtics ()
set xlabel "n"
set ylabel "Percentage (%)"
set title "length" 
set bars 0.3 front
set datafile separator "\t"
set yrange [ 0 : * ] noreverse nowriteback
plot 'length.dat' using 2:8:xtic(1), '' u 3:9:xtic(1), '' u 4:10:xtic(1), '' u 5:11:xtic(1), '' u 6:12:xtic(1), '' u 7:13:xtic(1)

得られた画像はこちら:http://i.stack.imgur.com/s88QJ.png

ただし、一部のエラーバーは表示されません。エラー値が1未満であるためですが、なぜですか?すべてのエラーバーを表示したいのですが。1未満のエラーが表示されないようにするコードに問題がありますか?

ご協力いただきありがとうございます

4

1 に答える 1

0

私には、gnuplotがネイティブに理解する,のではなく、ファイルで小数点文字として使用していることが問題のように見えます。.2つの可能な解決策があります。グーグルで最初に見つけたが、テストできない:

set locale

また

set locale "ja_JP.UTF-8" #gnuplot complains this isn't available for me ...

多分set decimalsign local "..."


2番目の解決策は少し洗練されていませんが、すべてをデータファイルに変換する必要があり,ます.。これは、以下を使用して行うのは簡単なことですsed

sed -e 's/,/\./g' length.dat > length2.dat

これで、を使用してプロットすることができlength2.dat、問題なく動作するはずです(私にとってはうまくいきました)。余談ですが、それはかなりカラフルなプロットだと思います。pngcairoターミナルはそれでうまく機能します。

于 2012-09-21T11:16:41.773 に答える