我在没有找到正确的问题/问题/答案的情况下抓了很多类似的问题......
我想使用gnuplot从分布式数据文件中制作直方图,其中条形/框的宽度和间隔相等。所以我需要计算/积分我的条的宽度(= 1)。这就是为什么我想使用'smooth frequency'命令:
#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
平滑频率似乎正常工作,但结果不是我打算做的......:Image
然后我想出来了,问题是什么。它是使用我手工制作的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似乎自己调整盒子宽度以适应整个空间。如何防止这种情况得到我想要的结果呢?
答案 0 :(得分:3)
我认为问题是relative
密钥。尝试:
set boxwidth 0.8 absolute