如何使自动缩放忽略不可见(隐藏)对象?

时间:2017-10-13 18:52:06

标签: python matplotlib

如何使自动缩放忽略不可见的绘图元素?在打开/关闭各种绘图元素之后,我希望能够选择几个不同时间/方式的缩放。

from matplotlib import pyplot as plt

h1 = plt.plot([0,1],[0,1])
h2 = plt.plot([2,3],[2,3], visible=False)
plt.autoscale(enable=True, axis='y', tight=True)
plt.show()

以上内容不会放大显示/可见元素。

2 个答案:

答案 0 :(得分:1)

在自动缩放前添加以下内容:

plt.gca().relim(visible_only=True)

答案 1 :(得分:0)

单独的可见性不会改变自动缩放行为,因为该行仍然存在,无论它是否可见。

您可以从轴上删除线条。 h2.remove()。然后relim绘图,然后自动缩放。

from matplotlib import pyplot as plt

h1, = plt.plot([0,1],[0,1])
h2, = plt.plot([2,3],[2,3])
h2.remove()
plt.gca().relim()
plt.autoscale(enable=True, axis='y', tight=True)

plt.show()

要稍后将线条放回轴使用axes.add_line(h2),然后再使用relimautoscale

plt.gca().add_line(h2)
plt.gca().relim()
plt.autoscale(enable=True, axis='y', tight=True)