gpt4 book ai didi

python - matplotlib 中的历史记录 : Bins are not centered and proportions not correct on the axis

转载 作者:太空狗 更新时间:2023-10-29 21:26:54 25 4
gpt4 key购买 nike

看看这个例子:

 import matplotlib.pyplot as plt
l = [3,3,3,2,1,4,4,5,5,5,5,5,5,5,5,5]
plt.hist(l,normed=True)
plt.show()

输出以图片形式发布。我有两个问题:

a) 为什么只有 4 和 5 bin 以它的值为中心?其他人不应该也是这样吗?有什么技巧可以让它们居中吗?

b) 为什么 bins 没有按比例归一化?我希望所有 bin 的 y 值总和为 1。

请注意,我的真实示例在列表中包含更多值,但它们都是离散的。

enter image description here

最佳答案

您应该调整 plt.hist 函数的关键字参数。它们有很多,而且 documentation可以帮助您回答其中的许多问题。

一个。 ) 您可以传递关键字bins=range(1,7)align=left。将 bins 关键字设置为一个序列,给出每个 bin 的边界。例如,[1,2]、[2,3]、[3,4]、...、[5, 6]

) 检查您的 bin 宽度 (rwidth!=1)。来自 matplotlib.pyplot.hist 文档:

If True, the first element of the return tuple will be the counts normalized to form a probability density, i.e., n/(len(x)*dbin). In a probability density, the integral of the histogram should be 1; you can verify that with a trapezoidal integration of the probability density function:

这意味着您的 bin 下的区域总和为 1,但由于 bin 宽度小于 1,因此高度会以高度加起来不等于 1 的方式标准化。如果您调整 rwidth=1,你会得到一个好看的情节:

plt.hist(l, bins=range(1,7), align='left', rwidth=1, normed=True)

关于python - matplotlib 中的历史记录 : Bins are not centered and proportions not correct on the axis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com