2017-10-13 84 views
0

如何讓自動縮放忽略不可見的繪圖元素?我希望能夠在打開/關閉各種繪圖元素後,選擇縮放幾個不同的時間/方式。如何使自動縮放忽略不可見(隱藏)的對象?

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

上面沒有放大顯示/可見元素。

回答

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)