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

Python使用matplotlib绘制CSV数据时设置X轴日期月度间隔报错

报错根因

plt.plot() 函数返回的是折线对象的列表,并非坐标轴Axes对象,因此调用.xaxis属性会触发属性不存在的报错。

完整修正代码

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# 读取CSV时直接解析日期列,dayfirst适配你数据中日.月.年的格式
df = pd.read_csv('file.csv', parse_dates=['Date'], dayfirst=True)

# 先创建画布和坐标轴对象
fig, ax = plt.subplots()
# 用ax调用plot方法绘图,后续直接操作ax对象即可
ax.plot(df['Date'], df['Company 1'])

# 设置X轴按月度间隔展示刻度
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
# 可选:设置日期展示格式,避免标签过长
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
# 可选:自动旋转X轴标签,彻底解决重叠问题
fig.autofmt_xdate()

plt.show()

补充说明

  1. 你之前写的df.set_index('Date')没有赋值给新变量也没有加inplace=True,不会修改原df,不需要设置索引的话可以直接删除该行
  2. 后续适配Combobox下拉框选公司的需求时,仅需要把df['Company 1']替换为下拉框返回的公司名对应的列即可

内容的提问来源于stack exchange,提问作者Martin Kunze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:24:06