直方图中不等的 bin 宽度是不好的吗?在 matplotlib python 中

问题描述 投票:0回答:1

我的年龄范围是18岁到69岁(含)。我想绘制一个直方图来显示这些年龄值的分布。

但我希望直方图上的 bin_edges 是 x 轴上的整数,并且仅覆盖范围 18 到 69(含)。不像 15 到 75 等

我使用下面的代码实现了这一点:

data = df['age']
num_bins = 5
bin_width = (max(data) - min(data)) / num_bins 
int_bin_edges = [int(min(data) + i * bin_width) for i in range(num_bins + 1)]
plt.hist(data,bins=int_bin_edges,edgecolor='black')
plt.xticks(int_bin_edges)
plt.show()

现在的问题是,现在的 bin 具有不相等的 bin 宽度,但数据表示是准确的,我可以清楚地看到有多少数据点落在 bin 表示的特定范围内。

垃圾箱宽度不同可以吗?像18-28(10 bin宽度然后28-38(10 bin宽度)然后38-48(10 bin宽度)然后48-58(10 bin宽度)最后58-69(11 bin宽度)-->导致不相等垃圾箱宽度

或者您是否推荐任何其他解决方案来解决这个问题?

请指导。谢谢

python pandas matplotlib histogram bins
1个回答
0
投票

不,还不错。你还有52岁。如果您确实想要具有相同的 bin 宽度,您还可以使用 13 个 4 年的 bin 或 13 个 4 年的 bin。

© www.soinside.com 2019 - 2024. All rights reserved.