我希望该图不显示特定子图上的日期
我在互联网上没有找到任何东西,包括 stackoverflow 和 mplfinance 的文档
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import pandas as pd
import mplfinance as mpf
import datetime as dt
fig= mpf.figure(style="yahoo",figsize=(12,8))
axlist=[ fig.add_subplot(2,1,1)]
axlist.append(fig.add_subplot(2,1,2,sharex=axlist[0] ))
df = pd.read_csv('df.txt', index_col=0,parse_dates=True)
mpf.plot(df, type="candle", returnfig=True, ax=axlist[0], volume = axlist[1])
mpf.show()
Mplfinance 已经为您做到了这一点 如果您允许的话。
为了做到这一点(对于您正在制作的绘图类型,实际上对于大多数绘图)不要使用外轴。当您确实使用外部轴时,您会阻止 mplfinance 为您做这些类型的事情(并且您最终必须编写更多代码来自己完成这些事情)。
您应该仔细阅读有关“面板”的mplfinance教程,以准确了解如何完成您想要完成的任务(即面板之间没有轴标签)。
基本上你的代码应该是这样的:
# DELETE THIS LINE: fig= mpf.figure(style="yahoo",figsize=(12,8))
# DELETE THIS LINE: axlist=[ fig.add_subplot(2,1,1)]
# DELETE THIS LINE: axlist.append(fig.add_subplot(2,1,2,sharex=axlist[0] ))
df = pd.read_csv('df.txt', index_col=0, parse_dates=True)
mpf.plot(df, type="candle", style='yahoo', volume=True, panel_ratios=(1,1))
mpf.show()
注意我已经添加了 kwarg
panel_ratios=(1,1)
。这是因为在您的图中,您将烛台面板和成交量面板设置为相同的大小,并且我假设您是故意想要这样的。另请注意,不需要 returnfig=True
。
如果您仍然坚持使用外轴(我强烈推荐不),那么您可以使用
axlist[0].xaxis.set_tick_params(labelbottom=False)
删除x轴标签。