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

matplotlib对数尺度下自定义x-ticks出现多余无法移除刻度如何解决

你遇到的多余刻度是对数轴默认开启的次要刻度,你之前仅配置了主刻度的显示规则,没有关闭自动生成的次要刻度,新增一行关闭x轴次要刻度的代码即可解决问题。

修正后完整代码

import matplotlib.pyplot as plt

ax = plt.gca()

ax.set_xscale("log")
ax.set_xticks([0.5,1,2])
ax.set_xticklabels([.5,1,2])
# 关闭x轴次要刻度,移除多余自动生成的刻度
ax.xaxis.set_minor_locator(plt.NullLocator())
ax.set_xlim([0.5,2])
plt.show()

原因说明

  • 对数尺度的坐标轴默认会自动生成主、次两级刻度,set_xticks()方法默认仅修改主刻度配置,次要刻度仍会按照对数尺度规则自动生成,你看到的6×10^-1刻度就属于自动生成的次要刻度
  • ax.get_xticks()方法默认仅返回主刻度列表,因此查询不到该次要刻度,若要查询次要刻度可调用ax.get_xticks(minor=True)

内容的提问来源于stack exchange,提问作者Jürg W. Spaak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:57:03