假设轴子图的标记显示为“0,20,40,60,80,100”,但我想让最后一个标记 100 不可见。不确定如何为 matplotlib 轴子图执行此操作?
问问题
1539 次
2 回答
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)
于 2012-07-23T10:25:29.827 回答
3
你的问题没有指定除了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。
于 2012-07-23T12:58:56.970 回答