Ipython / pylab / matplotlib 绘图错误

5

我已经安装了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 *”,则不会出现错误,但什么也不会发生。你有什么建议吗?或者如何使其运行?

我应该注意到,我是从PyLab解释器中运行此脚本的。 - Flux Capacitor
2
请注意,如果您启动 ipython --pylab,它会自动加载 pylab 相关内容,并使用一些技巧,使控制台在绘图窗口打开时不会被阻塞。 - Thomas K
1个回答

7
除了添加from pylab import *之外,您需要在问题中的最后一行(即grid(True)之后)添加show()才能实际显示绘图。
添加show()后,我得到的结果如下:

Google Adjusted Close


当然,该图与问题中链接的博客文章中的图相匹配。 - David Alber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接