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

如何在Python中绘制显示奇偶年份的时间序列图?

解决Matplotlib时间序列图显示所有年份的问题

你可以通过手动指定x轴刻度或强制刻度间隔的方式,让所有奇偶年份都显示出来,以下是两种可行方案:

方案一:直接设置数据中的所有年份为刻度

如果你的数据里包含了所有需要显示的年份,直接把这些年份值设为x轴刻度即可,同时可按需旋转标签避免重叠:

import matplotlib.pyplot as plt

plt.figure(figsize=(15,5))
plt.plot(data['Year'], data['Sale ($)'])
plt.xlabel('Year')
plt.ylabel('Sale ($)')
# 将数据中的所有年份设为x轴刻度
plt.xticks(data['Year'])
# 可选:旋转刻度标签,避免年份文本重叠
plt.xticks(rotation=45)
plt.show()

方案二:用ticker模块强制每年显示一个刻度

如果希望更精细控制刻度间隔(比如强制每1年显示一个刻度),可以使用matplotlib的ticker模块:

import matplotlib.pyplot as plt
from matplotlib import ticker

plt.figure(figsize=(15,5))
plt.plot(data['Year'], data['Sale ($)'])
plt.xlabel('Year')
plt.ylabel('Sale ($)')
# 获取当前坐标轴对象
ax = plt.gca()
# 设置x轴主刻度间隔为1年
ax.xaxis.set_major_locator(ticker.MultipleLocator(1))
# 可选:旋转标签优化显示
plt.xticks(rotation=45)
plt.show()

如果你的Year列是datetime类型,只需先提取年份值(比如data['Year'].dt.year)再应用上述方法即可。

内容的提问来源于stack exchange,提问作者SOURAVI BISWAS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:44:59