首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib文档中的烛台示例中的ImportError:‘无法导入名称quotes_historical_yahoo_ohlc`

matplotlib文档中的烛台示例中的ImportError:‘无法导入名称quotes_historical_yahoo_ohlc`
EN

Stack Overflow用户
提问于 2015-12-28 01:01:49
回答 1查看 7.2K关注 0票数 2

我是Python的新手,我正在努力在matplotlib文档中运行这个示例:

http://matplotlib.org/examples/pylab_examples/finance_demo.html

我基本上是将代码1:1复制到我的Python文件中,当我试图运行它时,我得到了如下所示的错误:

代码语言:javascript
复制
File "plot.py", line 5, in <module>
    from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc
ImportError: cannot import name quotes_historical_yahoo_ohlc

我在我的Mac和Linux机器上得到了相同的结果,所以我认为这与安装有关,或者它缺少一个依赖项。在Linux上我是通过apt-get install安装的,在Mac上我用的是pip

任何帮助或故障排除信息都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-12-28 01:24:58

是的,我得到了同样的结果。

因此,在光标提示符下,我键入:

代码语言:javascript
复制
import matplotlib

dir(matplotlib.finance)

除了末尾没有"_ohlc“之外,我看到了类似的项目。

代码语言:javascript
复制
['Affine2D', 'Line2D', 'LineCollection', 'PolyCollection', 'Rectangle',
 'TICKLEFT', 'TICKRIGHT', '__builtins__', '__doc__', '__file__',
 '__name__', '__package__', 'cachedir', 'candlestick', 'candlestick2',
 'colorConverter', 'contextlib', 'date2num', 'datetime', 'division',
 'fetch_historical_yahoo', 'get_cachedir', 'index_bar', 'iterable',
 'md5', 'mkdirs', 'np', 'os', 'parse_yahoo_historical', 'plot_day_summary',
 'plot_day_summary2', 'print_function', 'quotes_historical_yahoo',
 'stock_dt', 'sys', 'urlopen', 'verbose', 'volume_overlay',
 'volume_overlay2', 'volume_overlay3', 'warnings']

因此,我删除了最后五个字母_ohlc everywhere,看看会发生什么,现在它对我有效。但我不确定这是否真的是100%正确的。在2013年有一些@tcaswell的activity ...

代码语言:javascript
复制
#!/usr/bin/env python
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator,\
    DayLocator, MONDAY
from matplotlib.finance import quotes_historical_yahoo, candlestick    # _ohlc deleted


# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
date1 = (2004, 2, 1)
date2 = (2004, 4, 12)


mondays = WeekdayLocator(MONDAY)        # major ticks on the mondays
alldays = DayLocator()              # minor ticks on the days
weekFormatter = DateFormatter('%b %d')  # e.g., Jan 12
dayFormatter = DateFormatter('%d')      # e.g., 12

quotes = quotes_historical_yahoo('INTC', date1, date2)  # _ohlc deleted
if len(quotes) == 0:
    raise SystemExit

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.2)
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)
ax.xaxis.set_major_formatter(weekFormatter)
#ax.xaxis.set_minor_formatter(dayFormatter)

#plot_day_summary(ax, quotes, ticksize=3)
candlestick(ax, quotes, width=0.6)  # _ohlc deleted

ax.xaxis_date()
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')

plt.show()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34482714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档