如何修改Pandas DataFrame绘图的X轴日期标签格式为YYYY-MM?
修改折线图X轴日期格式为YYYY-MM的简便方法
核心步骤:
- 确保CSV中的
date列被解析为datetime类型(pandas默认会把日期读成字符串,这是格式化的前提) - 使用matplotlib的日期格式化器,直接修改X轴标签的显示格式,不会改变折线图本身样式
完整代码示例:
import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates # 读取数据并转换日期列类型 df = pd.read_csv('random.csv') df['date'] = pd.to_datetime(df['date']) # 绘图并获取坐标轴对象 ax = df.plot('date', 'y') # 设置轴标签 plt.xlabel('Dates') plt.ylabel('Y') # 应用YYYY-MM格式的日期格式化器 ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m')) # 可选:如果标签重叠,旋转X轴标签提升可读性(不影响图样式) plt.xticks(rotation=45) plt.show()
关键说明:
pd.to_datetime():将字符串类型的日期转换为datetime对象,让matplotlib能识别并格式化mdates.DateFormatter('%Y-%m'):指定日期显示格式,%Y代表4位年份,%m代表2位月份- 整个过程只修改X轴标签格式,折线图的样式(线条颜色、粗细等)完全保留原有的默认设置
内容的提问来源于stack exchange,提问作者pablotoucan
相关产品推荐
相关产品推荐

