Python matplotlib历史函数参数密度不工作

Python matplotlib历史函数参数密度不工作,python,matplotlib,Python,Matplotlib,plt.hist密度参数不起作用 我试图在plt.hist函数中使用密度参数来规范化绘图中的股票回报,但没有成功 下面的代码对我来说很好,并给出了我想要的概率密度函数 导入matplotlib 将numpy作为np导入 将matplotlib.pyplot作为plt导入 np.随机种子(196801) #示例数据 mu=100#分布平均值 西格玛=15#分布的标准偏差 x=mu+sigma*np.random.randn(437) 数量=50 plt.hist(x,数量箱,密度=1) plt.s

plt.hist密度参数不起作用

我试图在plt.hist函数中使用密度参数来规范化绘图中的股票回报,但没有成功

下面的代码对我来说很好,并给出了我想要的概率密度函数

导入matplotlib
将numpy作为np导入
将matplotlib.pyplot作为plt导入
np.随机种子(196801)
#示例数据
mu=100#分布平均值
西格玛=15#分布的标准偏差
x=mu+sigma*np.random.randn(437)
数量=50
plt.hist(x,数量箱,密度=1)
plt.show()

但是当我尝试股票数据时,它根本不起作用,结果给出了不规范的数据。我在我的数据数组中没有发现任何异常数据

将numpy导入为np
将matplotlib.pyplot作为plt导入
图=plt.图()
plt.hist(返回值,50,密度=真)
plt.show()
#“收益”是一个np数组,由360天的股票收益组成

这是Matplotlib中的一个已知问题

如中所述

当密度=False时,直方图在Y轴上有计数。但当密度=真时,Y轴并不意味着任何有用的东西。我认为更好的实现方法是,当密度=True时,将PDF绘制为直方图

开发者。他们已经关闭了一些关于它的bug报告,因为它正在按预期工作。matplotlib站点上的示例似乎显示了该功能在y轴被指定一个有意义的值的情况下工作

您想用matplotlib做什么是合理的,但matplotlib不会让您这样做。

这不是一个bug。 钢筋的面积等于1。
数字看起来很奇怪,因为你的箱子很小

你的实际数据是什么样子的(3.3880787856E-03,3.3919141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141419-2,5-02,5-02,6-3,6-3,6-3,6-3,6-3,6-3,6,6-3,6-3,6-3,6-3,6-3,6,6-3,6,6-3,6-3,6-3,6-3,6,6-3,6-3,6-3,6,6-3,6,6-3,6-3,1.386 6 6 6 02、7.23494533e-03、4.80665370e-03、7.04111798e-03、1.43040137e-02、-7.62997264e-03])我试图将数据类型转换为float,但结果仍然是一样的。您还希望第二个图形是什么样子?@ImportanceOfBeingErnest我假设他希望看到垂直轴上每个条的概率值。在下图中,您可以看到该值从0变为40。我怀疑他希望它是vary介于0和1之间。