如何处理绘制直方图时值的巨大差异?

0 投票
2 回答
775 浏览
提问于 2025-04-17 12:42

我有一个包含1354个数字的列表(intensityList)。这些数字的范围从25941.9到1639980000.0,差距非常大。我预计大部分数字会更接近1639980000.0,而不是25941.9。当我用这些数据制作直方图时,

plt.hist(intensityList,20)
plt.title('Amount of features per intensity')
plt.xlabel('intensity')
plt.ylabel('frequency')
plt.show()

几乎所有的数据都被放在一个柱子里,这样就搞乱了x轴的显示。用一组测试数据(随机的正常数字)制作直方图是可以的,所以我觉得问题出在这个数据范围太宽了。我该如何处理这样的数据集呢?

补充说明:这些数据可能非常偏斜,标准差远大于平均值。(平均值 = 6501401.54114,标准差 = 49423145.7749)

2 个回答

1

你可以增加箱子的数量,或者只保留你觉得有趣的那个范围内的值。

intensityList = intensityList[intensityList < maxVal]
intensityList = intensityList[intensityList > minVal]
2

这个回答很明显,写下问题会有帮助。我记录了这些数值,一切都很好。

撰写回答