Ошибка построения графика Ipython/pylab/matplotlib

Я установил EPD от Enthought (64-разрядная версия для Windows 7).

Я пытаюсь построить исторические данные о котировках акций, используя API Yahoo. Весь код, который я пытаюсь использовать, находится в этом сообщении в блоге: http://www.traineetrader.com/importing-stock-data-from-yahoo-using-python/

Файл ystockquote.py работает нормально.

Но второй скрипт для построения исторической котировки акций Google у меня не работает. Это код (с сайта):

import ystockquote

# Get Quotes 01/01/2006 - 01/01/2009
GOOG = ystockquote.get_historical_prices('GOOG', '20060101', '20090101')

# Create empty lists, quick and dirty
GOOGOpen = [ ]
GOOGClose = [ ]
GOOGDate = [ ]
GOOGHigh = [ ]
GOOGLow = [ ]
GOOGAdj = [ ]
GOOGVolume = [ ]

# Populate lists from downloaded data
for i in range(1, 755):
    GOOGDate.append(GOOG[i][0])
    GOOGOpen.append(GOOG[i][1])
    GOOGHigh.append(GOOG[i][2])
    GOOGLow.append(GOOG[i][3])
    GOOGClose.append(GOOG[i][4])
    GOOGVolume.append(GOOG[i][5])
    GOOGAdj.append(GOOG[i][6])

plot(GOOGAdj)
title("Google Adjusted Close")
ylabel(r"GOOG Closing Price ($USD)", fontsize = 12)
xlabel(r"Date", fontsize = 12)
grid(True)

Я получаю следующую ошибку:

NameError: name 'plot' is not defined

Любые советы о том, что я делаю неправильно? Или как заставить это работать? Если я включу «из импорта pylab *» в начало кода, я не получу ошибку, но ничего не произойдет.


person Flux Capacitor    schedule 17.10.2011    source источник
comment
Я должен отметить, что я запускаю этот скрипт из интерпретатора PyLab.   -  person Flux Capacitor    schedule 17.10.2011
comment
Н.Б. Если вы запустите ipython --pylab, он автоматически загрузит материал pylab, а также использует некоторые приемы, чтобы консоль не блокировалась, когда открыты окна графика.   -  person Thomas K    schedule 18.10.2011


Ответы (1)


В дополнение к добавлению from pylab import * вам нужно добавить show() после последней строки скрипта (т. е. после grid(True)) в вашем вопросе, чтобы фактически отобразить сюжет.

Вот что я получаю после добавления show():

Скорректированное закрытие Google

person David Alber    schedule 17.10.2011
comment
Цифра, конечно же, совпадает с цифрой в блоге на который ссылается вопрос. - person David Alber; 17.10.2011