gnuplotの設定boxwidthが機能しない

gnuplotの設定boxwidthが機能しない

ヒストグラムを描画するときにgnuplotでboxwidthオプションを使用するのに問題があります。以下は、正規分布乱数のヒストグラムを描画するために使用するgnuplotスクリプトです。

# Parameters
n=50 # number of intervals
min=-5. # min value
max=5. # max value
width = (max-min)/n # interval width

# Function used to map a value to the intervals
hist(x,width)=width*floor(x/width)+width/2.

# Output
set term png
set output "histogram.png"

# Graph
set xrange [min:max]
set yrange [0:]
set xtics min,(max-min)/5,max
set boxwidth width*0.9
set style fill solid 0.5
set tics out
set yzeroaxis # Add a vertical dotted line at x=0 to show centre (mean) of distribution
set xlabel "Random number"
set ylabel "Frenquency (%)"

# Count and Plot
plot "Random_numbers.txt" u (hist($1,width)):(100.0/ 10000 ) smooth freq w boxes notitle

このスクリプトを使用すると、「ボックス」は単なる「線」(幅のないボックス)です。理由をご存知ですか?

「set boxwidth width*0.9」行を削除すると機能し、ボックスの幅は「幅」(隣接するボックスに接触するボックス)です。

よろしくお願いします!

注:申し訳ありません。画像のアップロードが機能しません。私の問題を想像してください。 (私は次のようなプロットを取得したいと思います。

ここに画像の説明を入力してください。

しかし、私の場合は、ボックスに幅がなく、垂直線だけが表示されます。)...

ベストアンサー1

私が試すいくつかのことは次のとおりです。

set boxwidth 0.2

これがうまくいったら、次のことを行う必要があります。

n=50.0

あなたのそして最高変数は浮動小数点であるため、計算時に浮動分割を取得する必要があります。、整数であってもNしかし、私はgnuplotがこれに関して予期しない動作をしていることを知っていたので、試してみる価値があります。

おすすめ記事