我刚刚开始学习如何使用gnuplot。目前,我需要绘制一些直方图。我有一组数据,均值非常紧凑,尾巴很长。这样做的最终结果是使数据紧凑的框/ xtics重叠。我最初的想法之一是使用可变大小的纸箱宽度来尝试控制间距,但是效果不佳。最后,我决定根据不同的sigma(例如1σ,2σ,3σ等)生成图,这会限制范围。对于较大的sigma,我将图形类型更改为线点(尽管仍然会发生重叠的xtics,但它使图形更具可读性)。
但是,这样做的时候,激发了我对制作可变宽度垃圾箱的正确方法的好奇心。这有可能吗?
这是一些示例数据。这只是一小部分,因此为什么存在明显的差距。
ITEMS COUNT SCALE
149 60 1
186 811 1
2986 180 2.21622
3069 189 2.21622
5827 45 3.13514
5940 37 3.13514
6189 34 4.2973
6346 32 4.2973
SCALE应该是纸箱宽度刻度。请注意,计数是针对比例调整的。这样的想法是,更宽的宽度将表明计数中存在比例。
剧情的设置非常简单
set style data histogram
set style histogram cluster gap 1
set xtics rotate
plot '-' u 2:xtic(1) with boxes t '' lc rgb 'blue'
我仍然感到困惑的是using
的入口值语法。不幸的是,我还看到了其他一些帖子,并没有真正缓解我的困惑。
How to create a histogram with varying bin widths
在后面的帖子中,令我困惑的部分是这一行:
plot "data.dat" u (hist($1,width)):(1.0) smooth freq w boxes lc rgb"green" notitle
我认为using
项用于X然后Y值(盒子的X位置和高度)。因此,当我阅读上面的行时,它调用函数hist
以获取X值,但是Y为(1.0)
,那部分对我来说没有意义。
即使是我的绘图行也使我感到困惑(尽管它似乎可行),因为使用时我使用2:xtic(1)
。我不清楚1:2
为什么不能正常工作。
希望这个问题是可以理解的。从本周末开始,我只使用gnuplot,因此可以公平地说我仍处于学习曲线阶段。