Ошибка построения Ipython / pylab / matplotlib - PullRequest
5 голосов
/ 17 октября 2011

Я установил 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

Какие-нибудь советы, что я делаю не так? Или как заставить это работать? Если я добавляю «from pylab import *» вверху кода, я не получаю сообщение об ошибке, но ничего не происходит.

1 Ответ

7 голосов
/ 17 октября 2011

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

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

Google Adjusted Close

...