我必须使用 gnuplot 在两个轴上以对数刻度绘制直方图。我需要 bin 在 log10 中等间距。在 y 轴上使用对数刻度不是问题。主要问题是在 x 轴上创建 bin。例如,在 log10 中使用 10 个 bin,第一个 bin 将是 [1],[2],[3]....[10 - 19][20 - 29].....[100 190] 等等. 我在网上搜索过,但找不到任何实用的解决方案。如果在 gnuplot 中实现它太复杂了,你能建议一些其他软件/语言来做吗?
正如有人问的那样,我会更具体地解释我需要做什么。我有一个像这样的(巨大的)列表:
1 14000000
2 7000000
3 6500000
.
.
.
.
6600 1
8900 1
15000 1
19000 1
例如,1400 万个 IP 地址发送了 1 个数据包,700 万个 2 个数据包...... 1 个 IP 地址发送了 6600 个数据包,......,1 个 IP 地址发送了 19000 个数据包。如您所见,两个轴上的值都很高,因此如果没有对数刻度,我无法绘制它。
因为我需要快速完成,所以我尝试的第一件事是绘制这个列表,因为它使用 gnuplot 在两个轴上设置 logscale 使用框。结果是可以理解的,但不太合适。事实上,盒子在 x 轴上变得越来越细,因为很明显,10-100 中的点比 1-10 中的多!因此,在第二个十年之后,它变得一团糟。