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이 이와 관련하여 예상치 못한 동작을 한다는 것을 알았으므로 시도해 볼 가치가 있습니다.

답변2

나에게 맞는 것 같습니다(gnuplot 버전 4.6 패치 레벨 3). 당신은 시도 할 수 있습니다

set boxwidth width*0.9 absolute

나도 마찬가지다. 온라인에 하나 있어요gnuplot 도구하지만 어떻게 사용하는지 모르겠습니다.

이것들온라인 데모버전 4.0이라고 주장하고 상수 값을 사용하면 결과가 좋아 보입니다.

set boxwidth 0.2 absolute

답변3

당신은 시도 할 수 있습니다

set boxwidth 0.9 relative

관련 정보