我试图绘制一些数据的直方图,数据对我来说非常好。
然而,直方图未显示,并且返回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)
我将不胜感激任何意见或建议。
答案 0 :(得分:2)
您的y
数组中可能有一些无理数,例如nan
或inf
。
你没有发布所有的值,所以你必须自己检查。
您也可以通过以下方式执行此操作:
pylab.isnan(y).any()
和
pylab.isinf(y).any()