我如何在 Matplotlib Finance 的图表上绘图?

How do i draw on top of a chart in Matplotlib Finance?

我使用 MPL Finance 创建了一个图表,这是我的做法:

chart = mpf.plot(df, type='candle', figratio=(20,9), style="nightclouds", savefig='plottedCharts/TEST.png', volume=True)

其中 df 是我的 Pandas 数据框。我试图在图表上的一些重要点上添加方点,如下所示:

plt.scatter('2020-05-16 13:30', 9300, marker='s', c='b', s=1)

但是当我尝试这个时,图表上什么也没有出现。有什么办法可以实现吗?

是的。您调用 mpf.make_addplot()(制作额外的绘图数据)

并使用 addplot kwarg:

将 make_addplot 的结果传递到 mpf.plot()
ap = mpf.make_addplot(signal,type=scatter,marker='s',color='b')
mpf.plot(df, type='candle', figratio=(20,9), style="nightclouds",
         savefig='plottedCharts/TEST.png', volume=True, addplot=ap)

变量signal是一个列表、系列或数据框,其长度与df.

signal设置为适当的价格值您希望方块出现的位置signal 的所有其他值应填充为 float('nan')(以确保它与 df 的长度相同)。

您可以在此处的教程中看到完全按照您的要求执行操作的具体示例:https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb