【发布时间】:2019-04-23 13:00:15
【问题描述】:
对于 0 到 1 之间的值数组,我想创建一个包含 5 个 bin 的直方图,其中 bin 1 显示 0-0.2 之间的频率(次数)数字出现在数组中,bin 2 显示频率0.2-0.4 之间的数字,bin 3 为 0.4-0.6,bin 4:0.6-0.8,bin 5 0.8-1。
import numpy as np
arr = np.array([0.5, 0.1, 0.05, 0.67, 0.8, 0.9, 1, 0.22, 0.25])
y, other_stuff = np.histogram(arr, bins=5)
x = range(0,5)
graph = plt.bar(x,height=y)
plt.show()
【问题讨论】:
-
您的问题到底是什么?一个问题是如果 0 和 1 不在数据中,则它不会是您期望的 bin。您需要明确定义您的 bin(或范围),因为它们将由数据的最小值和最大值决定。
-
如果您想使用条形图,请参见例如this answer.
标签: python arrays numpy matplotlib histogram