如何使用axes.axis(' off')确定matplot lib轴是否已关闭?

时间:2017-03-08 00:10:59

标签: python python-2.7 matplotlib plot

以下代码段生成一条没有可见绘图轴的线和一个带有可见轴的法线图:

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')

enter image description here

我想要一种检测给定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')关闭,如何判断哪些对象可见?

1 个答案:

答案 0 :(得分:3)

您可以使用Axes对象的axison attribute来确定axes是打开还是关闭。

if ax.axison:
    print 'on'
else:
    print 'off'