有问题,当我使用 external_axes 时

问题描述

我需要在绘图中添加一些文本,并且我尝试使用您的指南“如何在 mplfinance 中使用您自己的 matplotlib 图和轴”。但我有一个错误

“ValueError: make_addplot() ax kwargs 必须都是 matplotlib.axis.Axes 类型”

我的代码


    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'),fplt.make_addplot(df5M['SMA50'].tail(100),color='#ffaf6c'),fplt.make_addplot(df5M['SMA200'].tail(100),color='#f0dea7')]
    
    fplt.plot(df5M.tail(100),type='candle',ax=ax1,style='yahoo',title="long_name",ylabel='5 Minutes',addplot=sma
              )
    fig

解决方法

每当您使用 mplfinance.plot() kwarg 将外部 Axes 对象传递到 ax= 时,然后

  • 如果你想绘制体积,那么你必须为体积传递一个 Axes 对象:
    也就是说,而不是 volume=True do volume=axes where axes 是要在其上绘制体积的 Axes 对象。
  • 您必须使用 kwarg ax= 来调用 mplfinance.make_addplot()

此信息已在the subplots page底部注明。
可能也应该包含在 the external axes notebook 中。