Ipython / pylab / matplotlib 绘图错误
我安装了Enthought的EPD(适用于Windows 7的64位版本)。
我想用Yahoo的API来绘制历史股票报价数据。我尝试使用的所有代码都在这个博客帖子里:http://www.traineetrader.com/importing-stock-data-from-yahoo-using-python/
那个名为ystockquote.py的文件运行得很好。
但是第二个用来绘制谷歌历史股票报价的脚本对我来说不管用。这是代码(来自网站):
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
除了在代码中添加 from pylab import *
之外,你还需要在脚本的最后一行(也就是在 grid(True)
之后)添加 show()
,这样才能真正显示出图表。
这是我在添加了 show()
之后得到的结果: