繁体   English   中英

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

[英]How to make the last mark invisible in a matplotlib axes subplot?

假设轴子图的标记显示为“ 0,20,40,60,80,100”,但我想使最后一个标记100不可见。 不知道如何为matplotlib轴子图执行此操作?

如果要设置x标记的位置,则只需将最后一个标签替换为空字符串即可。

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)

您的问题未指定是否除了刻度线标签之外还隐藏刻度线,因此,如果您还希望隐藏刻度线,则此行应该执行此操作

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先前回答的补充,应该在设置xticklabel身份的任何行之后输入,以避免将其可见性状态重置为True。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM