【发布时间】:2022-06-11 07:10:35
【问题描述】:
我正在尝试绘制一天的 E-mini 盘中数据。带有通常 OHLC 数据和 5 分钟蜡烛的日期时间索引。我想每半小时显示一次 x 轴刻度和相应的网格线。不知何故,我得到了超过所需的刻度数(见下文)。
另外,还有一个反复出现的消息如下:
Locator attempting to generate 5807 ticks ([-6.470138888888889, ..., 114.48819444444445]), which exceeds Locator.MAXTICKS (1000).
我做错了什么?
谢谢!
fig, axlist = mpl.plot(
df[['open', 'high', 'low', 'close', 'volume']].loc['2022-6-9 6:45':'2022-6-9 15:45'],
type="candle",
title = "Micro E-mini S&P 500 Price",
style="yahoo", volume=True, figratio=(12.00, 5.75),
returnfig=True
)
# axlist[0].yaxis.set_major_formatter(FormatStrFormatter('$%.2f'))
axlist[0].xaxis.set_major_locator(mdates.MinuteLocator(interval=30))
mpl.show()
【问题讨论】:
-
我怀疑问题是因为,在后台,mplfinance 在
show_nontrading=False(默认值)时使用数据帧行号作为 x 坐标。尝试设置 kwargshow_nontrading=True看看是否可行。 (此设置会将 x 坐标恢复为 mdates)如果此建议有效,请告诉我。 (我目前正在对 mplfinance 进行增强,以便更容易控制 x 轴刻度。同时,这个建议可能会有所帮助)。
标签: python matplotlib mplfinance