带方框的gnuplot直方图(平滑频率)

带方框的gnuplot直方图(平滑频率),gnuplot,histogram,Gnuplot,Histogram,我已经爬过许多类似的问题,但没有找到正确的问题/问题/答案 我想使用gnuplot对分布式数据文件进行柱状图绘制,其中条形/方框的宽度和间隔相等。因此,我需要计算/积分条的宽度(=1)。这就是我想使用“平滑频率”命令的原因: #gnuplot bin(x)=floor(x+0.5) set boxwidth 0.8 relative set style fill pattern set grid set xrange [0:11] set yrange [0:3] set xtics in 0

我已经爬过许多类似的问题,但没有找到正确的问题/问题/答案

我想使用gnuplot对分布式数据文件进行柱状图绘制,其中条形/方框的宽度和间隔相等。因此,我需要计算/积分条的宽度(=1)。这就是我想使用“平滑频率”命令的原因:

#gnuplot
bin(x)=floor(x+0.5)
set boxwidth 0.8 relative
set style fill pattern

set grid
set xrange [0:11]
set yrange [0:3]
set xtics in 0,2,10
set mxtics 2
set ytics 0,1,3
set mytics 1

p 'data.dat' u (bin($1)):(1) smooth freq w boxes

#data.dat
2.489
7.5
9.128
9.567
我试过了,结果是一样的,就像我手工制作的用盒子打印的文件一样:

#gnuplot2
[...]
p 'data2.dat' w boxes

#data2.dat
2 1
8 1
9 1
10 1
平滑频率似乎能正常工作,但结果不是我想做的…:

然后我发现,问题出在哪里。使用我手工制作的data3.dat解决了这个问题:

#gnuplot
p 'data3.dat' w boxes

#data3.dat
1 0
2 1
3 0
4 0
5 0
6 0
7 0
8 1
9 1
10 1


因此,问题在于我的数据范围中的漏洞,这些漏洞不被计算为“0”。有了这些孔,gnuplot似乎可以自行调整盒子的宽度,以适应剩余的整个空间。我怎样才能防止这种情况发生以获得我想要的结果?

我认为问题在于
相对
键。尝试:

set boxwidth 0.8 absolute