【问题标题】:Ipython / pylab / matplotlib plotting errorIpython / pylab / matplotlib 绘图错误
【发布时间】:2011-12-09 00:08:53
【问题描述】:

我已经安装了 Enthought 的 EPD(Windows 7 为 64 位)。

我正在尝试使用 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

关于我做错了什么的任何提示?或者如何让它运行?如果我在代码顶部包含“from pylab import *”,我不会收到错误消息,但没有任何反应。

【问题讨论】:

  • 我应该注意到我是从 PyLab 解释器运行这个脚本的。
  • 注:如果你启动ipython --pylab,它会自动加载pylab的东西,并且还使用了一些技巧,所以当绘图窗口打开时控制台不会阻塞。

标签: python numpy matplotlib scipy ipython


【解决方案1】:

除了添加from pylab import *之外,您还需要在问题中脚本的最后一行(即grid(True)之后)添加show()才能实际显示绘图。

这是我添加show()后得到的:

【讨论】:

  • 该图当然与问题中链接到的blog post 中的图相匹配。
猜你喜欢
  • 1970-01-01
  • 2012-05-26
  • 2016-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多