我正在使用 matplotlib 制作直方图。
有没有办法手动设置 bin 的大小而不是 bin 的数量?
最佳答案
实际上,这很容易:您可以给出一个包含 bin 边界的列表,而不是 bin 的数量。它们也可能分布不均:
plt.hist(data, bins=[0, 10, 20, 30, 40, 50, 100])
如果你只是想让它们均匀分布,你可以简单地使用范围:
plt.hist(data, bins=range(min(data), max(data) + binwidth, binwidth))
添加到原始答案
上面的行只适用于用整数填充的 data
。如macrocosme指出,对于 float ,您可以使用:
import numpy as np
plt.hist(data, bins=np.arange(min(data), max(data) + binwidth, binwidth))
https://stackoverflow.com/questions/6986986/