Python - 移除轴刻度标签,保留刻度和轴标签
我想把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))
这样会得到如下效果:

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