You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib时间序列历史与预测绘图x轴右移1个月问题排查

异常原因
  • 你使用pd.date_range指定freq='M'生成的是每月最后一天的时间戳,比如第一个索引值是2020-01-31而非你预期的2020-01-01
  • matplotlib.dates.MonthLocator默认会把刻度定位到每月第一天,数据点全落在对应月份刻度的右侧,视觉上就呈现出整体右偏一个月的效果。
修复方案

两种方案二选一即可:

方案1:调整时间索引为每月第一天(更符合初始时间范围需求)

把生成索引的代码中freq='M'改为freq='MS',MS是pandas内置的「每月起始日」频率标识,生成的索引会和默认的月刻度位置完全匹配。
修正后的索引生成代码:

# 注意原代码漏了numpy导入,使用np前需要补充
import numpy as np
index = pd.date_range(start='2020-01-01', end='2021-12-31', freq='MS')

方案2:调整月刻度定位规则适配月底索引

如果你需要保留每月最后一天的索引,修改MonthLocator的参数,指定刻度落在每月最后一天即可:

ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1, bymonthday=-1))

内容的提问来源于stack exchange,提问作者Abdullah Al Imran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:06:05