2016-03-24 2 views
0

Я новичок программист, и я подозреваю, что эта ошибка связана с какой-то проблемой установки или версии, но я понятия не имею, что. Я запускаю python 2.7 на OS 10.8 и просто установил 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() 

появляется окно участка, но ничего не отображается, а Mouseover координаты своего рода «стек» вместо того, чтобы освежать и быстро становятся неразборчивыми. Я также получаю эту ошибку в терминале:

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

Другие аналогичные примеры с сайта matplotlib также демонстрируют аналогичное поведение. Конечно, пожалуйста, дайте мне знать, если это дубликат (я пытался найти ответ, но не нашел ничего похожего на мою проблему, но я также мог бы просто не знать, что искать).

Если это ошибка установки, вам будет очень благодарна инструкция по ее устранению или точка в правильном направлении с подробными инструкциями. Спасибо!

Edit: Вот отслеживающий перед ошибкой:

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? –

Смежные вопросы