直方图返回inf值

时间:2014-11-19 14:21:33

标签: python matplotlib histogram

我试图绘制一些数据的直方图,数据对我来说非常好。

然而,直方图未显示,并且返回inf值。我不明白为什么。

这是我正在做的事情:

我要绘制的数据样本:

>>>y[0:20]
array([  9.03061197,  11.18613147,  10.20833309,  10.52459041,
        12.35042774,  10.94318214,  11.47863285,  11.03543313,
        11.51063833,  11.40573821,  10.91732319,  11.2765148 ,
        11.73077009,  10.19453873,  10.7591238 ,   9.77956991,
         9.7284345 ,  11.8031496 ,  11.11313849,   9.46416353])

然后我正在使用matplotlib hist

>>> matplotlib.pyplot.hist(y,50)
(array([-1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.]), array([ nan,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,
        inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,
        inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,
        inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,  inf,
        inf,  inf,  inf,  inf,  inf,  inf,  inf]), <a list of 50 Patch objects>)

我不明白发生了什么。

我以为我确实理解了hist函数。

我使用了许多不同的垃圾箱,但它无法使用。

我还尝试使用正常情节绘制数组y

>>>plot(y)

enter image description here

我将不胜感激任何意见或建议。

1 个答案:

答案 0 :(得分:2)

您的y数组中可能有一些无理数,例如naninf。 你没有发布所有的值,所以你必须自己检查。

您也可以通过以下方式执行此操作:

pylab.isnan(y).any()pylab.isinf(y).any()

祝你好运