2017-10-13 12 views
0

自動スケールで非表示のプロット要素を無視する方法を教えてください。私は様々なプロットされた要素をオン/オフにした後、いくつかの異なる時間/方法でスケーリングを選択できるようにしたいと考えています。autoscaleは非表示(非表示)オブジェクトを無視する方法を教えてください。

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

後で再びrelimそして、axes.add_line(h2)を使用し、バック軸にラインを入れて、autoscaleします。

plt.gca().add_line(h2) 
plt.gca().relim() 
plt.autoscale(enable=True, axis='y', tight=True) 
関連する問題