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

如何使用pandas绘制日期为X轴的图表并设置日期间隔

解决方案

1. 正确设置X轴为日期列

首先确认日期转换步骤已完成赋值,很多使用者容易遗漏赋值操作,导致转换结果没有生效:

# 日期转换操作需赋值回原Date列
df["Date"] = pd.to_datetime(df["Date"], format="%Y%m%d")

两种常用实现方案:

  • 方法1:直接调用pandas内置plot方法,显式指定x、y参数,即可避免默认用索引作为X轴
import pandas as pd
import matplotlib.pyplot as plt

df.plot(x="Date", y="DailyPositive", figsize=(12, 6), ylabel="每日新增病例数")
  • 方法2:用matplotlib原生接口绘图,直接传入日期列作为X轴输入
plt.figure(figsize=(12, 6))
plt.plot(df["Date"], df["DailyPositive"])
plt.ylabel("每日新增病例数")

2. 设置X轴按指定月份间隔显示刻度

借助matplotlib.dates模块的定位器功能即可实现,绘图完成后添加以下代码即可:

import matplotlib.dates as mdates

ax = plt.gca()
# 设置X轴主刻度间隔为3个月,修改interval参数可自定义间隔月数,比如interval=6就是每半年一个刻度
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=3))
# 设置刻度显示格式为年-月,避免日期过长重叠
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
# 可选操作:旋转刻度45度,进一步避免文字重叠
plt.xticks(rotation=45)
# 自动调整布局,防止底部刻度被截断
plt.tight_layout()

plt.show()

异常排查

如果修改后X轴显示仍然异常,可运行print(df["Date"].dtype)检查日期列类型,输出为datetime64[ns]才是转换成功,如果是object类型说明转换步骤失效,检查原始日期列的格式是否和format="%Y%m%d"规则匹配。

内容的提问来源于stack exchange,提问作者Moon Chan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:06:00