我想繪製一些數據,並從指出的行中得到此錯誤。我搜索了該行,但在這個問題上找不到任何有意義的討論。我對Python很陌生,所以試圖在我走的時候找出這些東西。python matplotlib錯誤,同時繪製一些數據
pl.figure()
ax = pl.subplot(111)
ax.plot(Xk[:,0], Xk[:,1], '.')
ERROR=>>> twos = (y == 2).nonzero()[0]
for i in twos:
imagebox = OffsetImage(X[i,:].reshape(28,28))
location = Xk[i,0], Xk[i,1]
ab = AnnotationBbox(imagebox, location, boxcoords='data', pad=0.)
ax.add_artist(ab)
pl.show()
這是錯誤消息
AttributeError: 'bool' object has no attribute 'nonzero'
任何線索,好像y
可能不是一個可比的實體。
我想按摩示例文件中的代碼來讓我自己的東西去原諒,如果這有點多餘。
我的確很感謝幫助。
只是爲了澄清,而這裏'y == 2'返回一個布爾值,它不必返回True或False。如果'y'是一個numpy數組(它大概是在原始代碼中),那麼它會返回一個bools數組,並且*會*有一個非零的方法。 – DSM
@DSM,好點。在這種情況下,可以使用'try'和'except'或者在檢查'y'是一個numpy數組之前。感謝您指出了這一點。 – Oz123