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

时间:2016-01-28 17:06:42

标签: gnuplot histogram

我在没有找到正确的问题/问题/答案的情况下抓了很多类似的问题......

我想使用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

Image

所以问题是我数据范围内的漏洞,不计算为'0'。有了这些洞,gnuplot似乎自己调整盒子宽度以适应整个空间。如何防止这种情况得到我想要的结果呢?

1 个答案:

答案 0 :(得分:3)

我认为问题是relative密钥。尝试:

set boxwidth 0.8 absolute