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

Matplotlib中如何隐藏坐标轴中间刻度值仅保留首尾刻度?

实现Matplotlib仅保留坐标轴首尾刻度的方法

当然可以做到!这在Matplotlib里其实有几种简便的实现方式,我给你分享两种最常用的:

方法一:保留刻度线但隐藏中间标签

如果你希望保留坐标轴上的所有刻度线(包括中间的小短线),只是隐藏中间的刻度数字,那可以通过修改刻度标签来实现:

import matplotlib.pyplot as plt
import numpy as np

# 生成示例数据(替换成你自己的数据集即可)
x = np.linspace(0, 10, 100)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)  # 保留你的图表线条不受影响

# 获取当前坐标轴的刻度位置
xticks = ax.get_xticks()
yticks = ax.get_yticks()

# 只保留首尾刻度的标签,中间全部设为空字符串
ax.set_xticklabels([str(xticks[0])] + ['']*(len(xticks)-2) + [str(xticks[-1])])
ax.set_yticklabels([str(yticks[0])] + ['']*(len(yticks)-2) + [str(yticks[-1])])

plt.show()

方法二:仅生成首尾两个刻度(更高效)

如果连中间的刻度线也不需要,只想保留首尾的刻度和标签,那就直接指定要显示的刻度位置,这样Matplotlib只会生成这两个刻度,更简洁高效:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

fig, ax = plt.subplots()
ax.plot(x, y)

# 直接设置坐标轴的刻度为首尾值(动态适配数据范围)
ax.set_xticks([x.min(), x.max()])
ax.set_yticks([y.min(), y.max()])

# 如果你需要手动固定刻度值(比如不是数据极值),直接写具体数值就行:
# ax.set_xticks([0, 10])
# ax.set_yticks([-1, 1])

plt.show()

两种方法都能完美保留你的图表线条,只是在刻度线的显示上略有区别,你可以根据自己的需求选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:33:14