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

如何用Matplotlib+NumPy设置1900-2020年每5年的X轴刻度?

解决方案

你可以通过以下步骤实现X轴每5年显示刻度的需求:

  1. 用NumPy生成目标刻度数组:
    使用numpy.arange()生成1900到2020之间步长为5的年份序列,注意因为arange是左闭右开区间,结束值要设为2021才能包含2020。

  2. 设置Matplotlib的X轴刻度:
    调用plt.xticks()将生成的数组作为X轴刻度,同时可以添加旋转参数避免刻度重叠。

修改后的完整代码如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# 你的现有代码
prize_year = df_data.groupby('year').agg({'prize': pd.Series.count})
prize_year.rolling(window=5).mean().head(10)

# 绘制图表并设置X轴刻度
plt.xlim(1900, 2020)
plt.scatter(prize_year.index, prize_year.values)

# 用NumPy生成每5年的刻度并设置
x_ticks = np.arange(1900, 2021, 5)
plt.xticks(x_ticks, rotation=45)  # rotation参数可选,用于优化刻度显示

plt.show()

关键说明

  • np.arange(1900, 2021, 5):生成包含1900、1905、...、2020的整数数组,正好符合每5年一个刻度的要求。
  • plt.xticks(x_ticks, rotation=45):将X轴刻度替换为生成的数组,旋转45度是为了避免年份文本重叠,提升可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:06:02