首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPF绘图CandleStick

MPF绘图CandleStick
EN

Stack Overflow用户
提问于 2018-06-04 09:35:01
回答 1查看 491关注 0票数 0

我需要帮助理解以下代码和故障排除的错误。

代码语言:javascript
复制
import matplotlib.finance as mpf
import pandas_datareader as web
import datetime
import matplotlib.pyplot as plt

import pandas as pd

import matplotlib.dates as mdates

start = datetime.datetime(2018, 5, 1)
end = datetime.datetime(2018, 5, 31)
df = web.get_data_morningstar("nvda",  start, end)
df.reset_index(inplace=True)

df = df.drop('Symbol',axis=1)

df.Date = pd.to_datetime(df.Date)

df = df[['Date', 'Open', 'High', 'Low', 'Close', 'Volume']]

df["Date"] = df["Date"].apply(mdates.date2num)
quotes = [tuple([df.Date,
                 df.Open,
                 df.High,
                 df.Low,
                 df.Close,
                 df.Volume]) ]
#print(quotes)
fig, ax = plt.subplots(figsize=(8, 5))
#fig.subplots_adjust(bottom=0.2)
mpf.candlestick_ohlc(ax, quotes, width=0.6, colorup='b', colordown='r')
plt.grid(True)
ax.xaxis_date()
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(), rotation=30)
plt.show()

错误是"ValueError:系列的真值不明确。请使用a.empty、a.bool()、a.item()、a.any()或a.all()。“此错误发生在烛台函数调用中。

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 11:34:34

问题在于引号。mpf.candlestick_ohlc需要一个包含如下元素的列表或元组:

代码语言:javascript
复制
[date, open, high, low, close, volume]

但是,您的报价只有一个元素,即元组。如果删除外部列表,您的引号将包含6个元素:datesopens、...

要解决此问题,请按如下方式创建报价:

代码语言:javascript
复制
quotes = df.values.tolist()

这样,它就会生成一个有4个烛台的图形(这里没有显示,因为我必须对您的数据进行大量调整才能使其运行)。

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

https://stackoverflow.com/questions/50672476

复制
相关文章

相似问题

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