以下代码段生成一条没有可见绘图轴的线和一个带有可见轴的法线图:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2)
ax[0].plot([0, 1])
ax[0].set_xlabel('x1')
ax[0].axis('off')
ax[1].plot([1, 0])
ax[1].set_xlabel('x2')
我想要一种检测给定axes
实例的轴是否可见的一般方法。我已经尝试了一些方法,但没有找到一种方法来区分可见的轴和上述方法隐藏的轴:
for i in range(2):
print('axes set', i,
ax[i].get_frame_on(),
ax[i].xaxis.get_visible(),
ax[i].xaxis.get_alpha())
结果:
('axes set', 0, True, True, None)
('axes set', 1, True, True, None)
如您所见,具有可见轴和不可见轴的子图之间的输出都不相同。
鉴于一组axes
个对象可能已经或未被.axis('off')
关闭,如何判断哪些对象可见?
答案 0 :(得分:3)
您可以使用Axes
对象的axison
attribute来确定axes
是打开还是关闭。
if ax.axison:
print 'on'
else:
print 'off'