私は初心者のプログラマーですが、このエラーはインストールやバージョンに問題があることが原因ですが、何もわかりません。私は、OS 10.8上でPython 2.7を実行しており、ヒートマップを構築するためにnumpy 1.12.0とmatplotlib-1.5.1をインストールしました。AttributeError: 'numpy.ndarray'オブジェクトに 'as_rgba_str'属性がありません
私はmatplotlibのサイト(http://matplotlib.org/examples/api/image_zcoord.html)からこの例を実行しようとしている:
"""
Show how to modify the coordinate formatter to report the image "z"
value of the nearest pixel given x and y
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
X = 10*np.random.rand(5, 3)
fig, ax = plt.subplots()
ax.imshow(X, cmap=cm.jet, interpolation='nearest')
numrows, numcols = X.shape
def format_coord(x, y):
col = int(x + 0.5)
row = int(y + 0.5)
if col >= 0 and col < numcols and row >= 0 and row < numrows:
z = X[row, col]
return 'x=%1.4f, y=%1.4f, z=%1.4f' % (x, y, z)
else:
return 'x=%1.4f, y=%1.4f' % (x, y)
ax.format_coord = format_coord
plt.show()
プロットウィンドウが表示されますが、何も表示されず、マウスオーバーではなく、さわやかで「スタック」の種類を調整し、すぐに判読不能になる。また、端末でこのエラーが発生する:
AttributeError: 'numpy.ndarray' object has no attribute 'as_rgba_str'
他の同様の例は、matplotlibサイトと同様の動作を示します。 もちろん、これが重複しているかどうか私に知らせてください(私は答えを探し出そうとしましたが、私の問題と似たものは見つけられませんでしたが、何を検索するか分からないかもしれません)。
インストールエラーの場合は、正しい方法で正しい方向に修正する方法や詳細な手順をお読みください。ありがとうございました!
編集:ここでは、エラーの前にトレースバックです:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d- py2.7-macosx-10.8-x86_64.egg/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/figure.py", line 1262, in draw
renderer, self, dsu, self.suppressComposite)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/image.py", line 139, in _draw_list_compositing_images
a.draw(renderer)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/axes/_base.py", line 2355, in draw
mimage._draw_list_compositing_images(renderer, self, dsu)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/image.py", line 139, in _draw_list_compositing_images
a.draw(renderer)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/artist.py", line 63, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/image.py", line 472, in draw
renderer.draw_image(gc, l, b, im)
File "/usr/local/lib/python2.7/site-packages/matplotlib-1.5.1+1539.g1111c1d-py2.7-macosx-10.8-x86_64.egg/matplotlib/backends/backend_macosx.py", line 113, in draw_image
nrows, ncols, data = im.as_rgba_str()
AttributeError: 'numpy.ndarray' object has no attribute 'as_rgba_str'
'as_rgba_str'は' image'のメソッドです。 http://stackoverflow.com/questions/31393769/getting-an-rgba-array-from-a-matplotlib-image/31396968#31396968;エラーが発生した場所のスタック(行)の一部を表示する必要があります。それはあなたのインストールで何が欠けているのかのアイデアを与えるかもしれません。 – hpaulj