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

如何在matplotlib.pyplot生成的坐标图中显示所有整数点

解决方案

你只需要手动指定X、Y轴的刻度为坐标轴覆盖范围内的所有整数即可,Matplotlib默认会自动选择稀疏刻度保证可读性,修改后完整代码如下:

import matplotlib.pyplot as plt
import numpy as np

plt.plot([-1, -4.5, 3.14, 1])

# 适配y轴所有整数刻度
y_min, y_max = plt.ylim()
plt.yticks(np.arange(np.floor(y_min), np.ceil(y_max) + 1, 1))

# 适配x轴所有整数刻度
x_min, x_max = plt.xlim()
plt.xticks(np.arange(np.floor(x_min), np.ceil(x_max) + 1, 1))

plt.show()

如果不想额外引入numpy,也可以用原生Python实现刻度生成:

import matplotlib.pyplot as plt

plt.plot([-1, -4.5, 3.14, 1])

y_min, y_max = plt.ylim()
plt.yticks(range(int(y_min // 1), int(y_max // 1) + 2))

x_min, x_max = plt.xlim()
plt.xticks(range(int(x_min), int(x_max) + 1))

plt.show()

逻辑说明

  • plt.ylim()/plt.xlim()可以获取当前坐标轴的上下限范围,不需要手动写死刻度范围,适配不同输入数据
  • 用步长为1的序列生成所有整数作为刻度值,传入plt.yticks()/plt.xticks()就能强制坐标轴显示所有整数刻度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:15:07