You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mplfinance自定义Axes调用make_addplot报ValueError如何解决

报错根因

当你使用mplfinance的external_axes模式,在fplt.plot()中传入了ax参数指定主图坐标轴时,所有通过make_addplot()创建的附加绘图项,都必须显式指定ax参数绑定到对应坐标轴,否则mplfinance无法确认附加内容的绘制载体,就会触发该ValueError。

修复方法

在每个fplt.make_addplot()调用中添加ax=ax1参数,和主图的坐标轴实例绑定即可。如果后续需要在同画布的其他子图上绘制附加内容,只需要创建对应的坐标轴实例,再将需要绘制到该子图的make_addplot()项的ax参数绑定为对应坐标轴实例即可。

修复后完整代码
import mplfinance as fplt
import pandas as pd

df5M = pd.read_csv("D:\\_users_files\\Kirill\\WORK\\fx2youcom\\df5M.csv", index_col=0, parse_dates=True)

fig = fplt.figure(style='yahoo', figsize=(10.8, 6.4))
ax1 = fig.add_subplot(2, 2, 1)

sma = [fplt.make_addplot(df5M['SMA20'].tail(100), color='#f1afe1', ax=ax1),
       fplt.make_addplot(df5M['SMA50'].tail(100), color='#ffaf6c', ax=ax1),
       fplt.make_addplot(df5M['SMA200'].tail(100), color='#f0dea7', ax=ax1)]

fplt.plot(df5M.tail(100),
          type='candle',
          ax=ax1,
          style='yahoo',
          title="long_name",
          ylabel='5 Minutes',
          addplot=sma
          )
# 非Jupyter环境可替换下方为 fplt.show()
fig

内容的提问来源于stack exchange,提问作者Kyrylo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 05:15:03