如何在matplotlib轴子图中使最后一个标记不可见?

时间:2012-07-22 22:26:44

标签: python matplotlib axes

说轴子图的标记显示为“0,20,40,60,80,100”,但我想让最后一个标记100不可见。不知道怎么做matplotlib轴子图?

2 个答案:

答案 0 :(得分:4)

如果您正在设置x-ticks的位置,您只需用空字符串替换最后一个标签。

import pylab as plt

x=[12, 13, 14, 15, 16]
y=[14, 15, 16, 17, 18]

xticks=[12,13,14,15,16]

fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y,'o-')

ax.set_xticks(xticks)
ax.set_xticklabels(xticks[:-1]+[""])
plt.show()

您还可以使用以下内容删除最后的x-tick标签

for label in ax.get_xticklabels():
    pass
label.set_visible(False)

答案 1 :(得分:3)

你的问题没有说明你是否想要隐藏滴答线以外的滴答线,所以如果你还想隐藏滴答线,这一行应该这样做

plt.setp(ax.get_xticklines()[-2:],visible=False)

Matplotlib的滴答标签的顺序在底部和顶部之间交替,从左向右移动。因此,隐藏最后两个假设您希望顶部和底部都隐藏了勾选标签。隐藏最底层的一个:

plt.setp(ax.get_xticklines()[-2],visible=False)

或只是最重要的一个:

plt.setp(ax.get_xticklines()[-1],visible=False)

我应该补充一点,这是对@imsc的前一个答案的补充,它应该在任何设置xticklabels标识的行之后输入,以避免将其可见性状态重置为True。