首页 > 解决方案 > Python直方图箱问题-箱与我的数组不匹配

问题描述

所以我试图制作一个简单问题的简单直方图。我有一系列权重,分为 17 个类别,所以我正在考虑使用 17 个垃圾箱。

我希望每个阵列都有自己的垃圾箱,但我正在努力正确设置它。

我将轴设置为 700、1091,因为这是最低和最高权重(不包括),然后是 0,2,因为我知道数组中出现的最大次数为 2。

但是我的直方图看起来像这样: 直方图 这是错误的,因为我知道应该只有 3 个条形图上升到 2,其余的条形图保持在 1。这有意义吗?

from matplotlib import pyplot as plt
import numpy as np
     
# dataset
weights = np.array([901, 870, 970, 790, 1090, 960, 980, 820, 840, 890, 
                    1010, 920, 700, 880, 910, 890, 790, 810, 990, 750])

# histogram
fig, ax = plt.subplots(figsize =(10, 7))
ax.hist(weights, bins = 17)
plt.axis([700,1091,0,2])
    
# Show plot
plt.show()

标签: pythonhistogram

解决方案


我相信您可以在直方图中定义 bin 大小,但不能定义其特定的端点。您可能会使用 30 个垃圾箱(每个垃圾箱 10 个单位)得到您想要的东西,但即便如此,设置包容性/专有性结束也会令人困惑。

同意 Bjarke Kingo 的观点,条形图可能更符合您的需求。


推荐阅读