2016-03-24 20 views
0

Yeni başlayan bir programcıyım ve önsezim, bu hatanın bir çeşit yükleme veya sürüm sorununa bağlı olduğunu, ancak ne olduğunu bilmiyorum. OS 10.8'de python 2.7 çalıştırıyorum ve bugün bir ısı haritası oluşturma girişiminde 1.12.0 ve matplotlib-1.5.1'i yükledim.AttributeError: 'numpy.ndarray' nesnesinin bir özelliği yok 'as_rgba_str'

ben matplotlib sitesinden bu örneği (http://matplotlib.org/examples/api/image_zcoord.html) yönetmeye çalışıyorum:

""" 
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() 

bir çizim penceresi görünür, ancak hiçbir şey görüntülenir ve mouseover ferahlatıcı yerine "yığın" tür koordine eder ve hızla okunaksız hale gelir. Ayrıca terminalde bu hatayı alıyorum: matplotlib sitesinden

AttributeError: 'numpy.ndarray' object has no attribute 'as_rgba_str' 

Diğer benzer örnekler de benzer bir davranış sergiler. Tabii ki, lütfen bu bir yinelenen ise (bir cevap aramayı denedim ama benim problemime benzer bir şey bulamadım, ama aynı zamanda ne aramam gerektiğini de bilmiyorum) bana bildirin.

Bir yükleme hatasıysa, ayrıntılı yönergelere göre nasıl düzeltileceği veya doğru yönde bir noktaya dikkat edin. Teşekkür ederim!

Düzenleme: Burada hata öncesi traceback var:

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' bir' image' yöntemidir; http://stackoverflow.com/questions/31393769/getting-an-rgba-array-from-a-matplotlib-image/31396968#31396968; Hatanın oluştuğu yığının (satırların) bir kısmını göstermelisiniz. Bu, kurulumunuzda nelerin eksik olduğu hakkında bir fikir verebilir. – hpaulj

cevap

1

yerine Windows kullanıyorum olsa da bir çeşit yükleme hatası, Anaconda'yı kurdum ve sorun giderildi. Gelecekte bu soruyu bulanlar için, ActivePython numpy veya scipy yok.

-1

Ben senin sorunu çözmek olamaz ama sana onun bir yükleme sorunu söyleyebilir, Yayınladığınız kod üzerinde mükemmel çalıştı benim piton 2.7 kullanarak yükleyin. IOS

+0

Evet, bundan korktum. Beni kontrol ettiğin için teşekkürler! Çok sinir bozucu hale gelirse, laboratuarımdaki linux makinelerine geçeceğim. –

+0

, doğrudan bu bilimsel modüller ile gelen bir python sürümünü yüklemeyi denediniz - http://www.activestate.com/activepython/downloads – zorg93

+0

python'u bu sürümlerden birini kullanarak yeniden yüklemeye çalışacak herhangi bir sorun var mı? Önce mevcut python dağıtımımı kaldırmaya çalışmalı mıyım? –

İlgili konular