带框的 gnuplot 直方图(平滑频率)
gnuplot histogram with boxes (smooth frequency)
我已经抓取了很多类似的问题,但没有找到合适的 problem/question/answer...
我想使用 gnuplot 从具有相等宽度和间隔的 bars/boxes 分布式数据文件中绘制直方图。所以我需要 count/integrate 超过我的条形宽度 (=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) 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 似乎可以自行调整框宽度以适应整个 space 左侧。我怎样才能避免这种情况以获得我想要的结果?
我认为问题出在 relative
键上。尝试:
set boxwidth 0.8 absolute
我已经抓取了很多类似的问题,但没有找到合适的 problem/question/answer...
我想使用 gnuplot 从具有相等宽度和间隔的 bars/boxes 分布式数据文件中绘制直方图。所以我需要 count/integrate 超过我的条形宽度 (=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) 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 似乎可以自行调整框宽度以适应整个 space 左侧。我怎样才能避免这种情况以获得我想要的结果?
我认为问题出在 relative
键上。尝试:
set boxwidth 0.8 absolute