如何从 MPL 金融情节中跳过周末和其他间隙

How to skip weekends and other gaps from MPL finance plot

我有以下绘制盘中股票数据的代码。

import pandas as pd, mplfinance as mpf, matplotlib.pyplot as plt
from pandas_datareader import data as web
import datetime
from datetime import timedelta
from dateutil.relativedelta import relativedelta
import yfinance as yf
yf.download(tickers='goog', start=datetime.datetime.now()-relativedelta(days=4), end= datetime.datetime.now(), interval="5m").plot(y="Close")

如您所见,这会生成以下图表,它还绘制了一条穿过没有可用数据的日期的线。无论如何我可以跳过数据不可用的日子吗?

如你所见

也许是黑客攻击:

df.index = df.index.astype(str)
df['Close'].plot(rot = 45)

关闭@keramat 回答:

ax = df.set_index(df.index.strftime('%m-%d %H')).plot(y='Close', rot=45)
plt.tight_layout()
plt.show()

如果您使用 MPL,它会自动处理 x-axis 时间序列。

df = yf.download(tickers='goog', start=datetime.datetime.now()-relativedelta(days=4), end=datetime.datetime.now(), interval="5m")
mpf.plot(df, figratio=(8,4), type='line', style='yahoo')