2011-10-17 6 views
5

Enthought의 EPD (Windows 7의 경우 64 비트)를 설치했습니다.Ipython/pylab/matplotlib 플로팅 오류

저는 Yahoo의 API를 사용하여 과거 주가 지수 데이터를 플롯하려고합니다. 내가 사용하려고하는 모든 코드는 다음 블로그 게시물에 있습니다. 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 import *"를 포함 시키면 오류가 발생하지 않지만 아무 것도 발생하지 않습니다.

+0

나는 내가 PyLab 인터프리터에서이 스크립트를 실행하는거야 있음을 알아 두셔야합니다. –

+2

N.B. 'ipython --pylab'를 시작하면 자동으로 pylab 항목을로드하고 플롯 창이 열려있을 때 콘솔이 차단하지 않도록 몇 가지 트릭을 사용합니다. –

답변

7

from pylab import *을 추가하는 것 외에도 실제로 마지막으로 플롯을 표시하려면 질문에 show()을 추가해야합니다 (예 : grid(True) 이후). 여기

내가 show()를 추가 한 후 무엇을 얻을 수 있습니다 :

Google Adjusted Close

+0

그림은 당연히 질문에 링크 된 [블로그 게시물] (http://www.traineetrader.com/importing-stock-data-from-yahoo-using-python/)의 그림과 일치합니다. –

+0

아! 그건 나에게도 효과가있다. 매우 감사합니다. –