Python - 移除轴刻度标签,保留刻度和轴标签

3 投票
4 回答
16862 浏览
提问于 2025-04-18 11:48

我想把y轴上每个粗线的数字值(比如10、20、30等)去掉,但希望保留这些粗线和轴的标签。现在我只有:

yticks([])

但是这样会把粗线也去掉。我还试过:

frame=gca()
frame.axes.get_yaxis().set_visible(False)

但这样会把轴的标签和粗线都去掉。

4 个回答

2

这个 tick_params() 函数应该可以解决这个问题:

gca().tick_params(axis='x',labelbottom='off')
3

我同意Mathieu的看法,使用tick_params()这个方法更好,因为你不需要提前知道刻度的数量。不过,最通用的参数是“label1On”,也就是说:

gca().tick_params(axis='x',label1On=False)

这个方法也很容易扩展到'y'轴,甚至第二个'x'或'y'轴(使用label2On)。

1

你可以把刻度标签设置为空列表:

from matplotlib.pyplot import *
gca().set_xticklabels(['']*10)
plot(range(10))

这样会得到如下效果:

enter image description here

我必须在调用 plot 之前这样做。不太明白为什么反过来就不行。

撰写回答