2016-03-24 20 views
0

私は初心者のプログラマーですが、このエラーはインストールやバージョンに問題があることが原因ですが、何もわかりません。私は、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' 
+0

'as_rgba_str'は' image'のメソッドです。 http://stackoverflow.com/questions/31393769/getting-an-rgba-array-from-a-matplotlib-image/31396968#31396968;エラーが発生した場所のスタック(行)の一部を表示する必要があります。それはあなたのインストールで何が欠けているのかのアイデアを与えるかもしれません。 – hpaulj

答えて

1

間違いなく、何らかのインストールエラーが発生しました。私はAnacondaをインストールしましたが、問題は修正されました。将来、この質問を見つける人にとっては、ActivePythonにはnumpyやscipyはありません。

-1

私はあなたの問題を解決するカントが、私はあなたに、インストールの問題を伝えることができ、あなたが投稿したコードは、上の完璧な仕事を、私のpython 2.7を使用してインストールします。 IOSの代わりにウィンドウを使用していますが、

+0

ええ、それは私が恐れていたものです。私をチェックしてくれてありがとう!それがあまりにもイライラしたら、私は研究室のLinuxマシンに切り替えるだけです。 –

+0

これらの科学モジュールに直接付属するPythonのバージョンをインストールしようとしましたか?http://www.activestate.com/activepython/downloads – zorg93

+0

これらのバージョンのいずれかを使用してPythonを再インストールしようとすると問題が発生しますか?現在のPythonディストリビューションをまずアンインストールしようとするといいですか? –