【发布时间】:2012-07-22 22:26:44
【问题描述】:
假设轴子图的标记显示为“0,20,40,60,80,100”,但我想让最后一个标记 100 不可见。不确定如何为 matplotlib 轴子图执行此操作?
【问题讨论】:
标签: python matplotlib axes
假设轴子图的标记显示为“0,20,40,60,80,100”,但我想让最后一个标记 100 不可见。不确定如何为 matplotlib 轴子图执行此操作?
【问题讨论】:
标签: python matplotlib axes
如果您要设置 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)
【讨论】:
你的问题没有指定除了ticklabel之外是否要隐藏tickline,所以如果你还想隐藏tickline,这条线应该这样做
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。
【讨论】: