【发布时间】:2016-05-06 04:34:45
【问题描述】:
我爬了很多类似的问题,但没有找到合适的问题/问题/答案...
我想使用 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
平滑频率似乎可以正常工作,但结果不是我打算做的......: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 似乎可以自行调整框的宽度以适应整个剩余空间。我怎样才能防止这种情况得到我想要的结果?
【问题讨论】: