![](/img/trans.png)
[英]How to display the candle above the other lines in plot using mplfinance?
[英]How to add a string comment above every single candle using mplfinance.plot() or any similar package?
我想使用 mplfinance package 在每根蜡烛上方添加一个字符串评论。
有没有办法使用 mplfinance 或任何其他 package 来做到这一点?
这是我使用的代码:
import pandas as pd
import mplfinance as mpf
import matplotlib.animation as animation
from mplfinance import *
import datetime
from datetime import date, datetime
fig = mpf.figure(style="charles",figsize=(7,8))
ax1 = fig.add_subplot(1,1,1 , title='ETH')
def animate(ival):
idf = pd.read_csv("test1.csv", index_col=0)
idf['minute'] = pd.to_datetime(idf['minute'], format="%m/%d/%Y %H:%M")
idf.set_index('minute', inplace=True)
ax1.clear()
mpf.plot(idf, ax=ax1, type='candle', ylabel='Price US$')
ani = animation.FuncAnimation(fig, animate, interval=250)
mpf.show()
您应该可以使用Axes.text()
执行此操作
调用mpf.plot mpf.plot()
然后调用
ax1.text()
对于您想要的每个文本(在您的情况下为每个蜡烛)。
关于传递给ax1.text()
的x 轴值有一个重要的警告:
show_nontrading=True
那么它将默认为False
在这种情况下,您传递给文本ax1.text()
的x 轴值必须是与您想要的蜡烛相对应的行号DataFrame 中第一行的文本从0开始计数。show_nontrading=True
,那么您传递给ax1.text()
的 x 轴值将需要是matplotlib datetime 。 您可以将pandas 日期时间从 DataFrame DatetimeIndex 转换为 matplotlib 日期时间,如下所示:import matplotlib.dates as mdates
my_mpldates = mdates.date2num(idf.index.to_pydatetime())
我建议使用第一个选项(DataFrame 行号),因为它更简单。 我目前正在研究一种 mplfinance 增强功能,它允许您将 x 轴值输入为任何类型的日期时间 object(这是更直观的方法)但是它可能需要一两个月才能完成增强,因为它不是微不足道的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.