2015-11-04 4 views
7

hold引数は、多くのプロット関数に表示されます。たとえば、plt.fill_between,plt.arrowplt.axhlineimport matplotlib.pyplot as pltの場合)です。しかし、私はそれに関する文書を見つけることはできません。 Docs seem to only statematplotlibの `hold`キーワード引数は何をしますか?

追加kwargsから:=ホールド[TRUE | FALSE]これはまたGoogleに困難なキーワード引数であるデフォルトのホールド状態に

をオーバーライドするための...

+0

はhttp://matplotlib.org/api/pyplot_api.html、何も説明しなかったです。しかし、超建設的なコメントに感謝します。 – DilithiumMatrix

答えて

5

MATLABのデフォルトのプロットに基づいているように見えます。同じグラフに複数のプロットを追加するには、hold onを呼び出す必要があります。 matplotlibのデフォルト動作では、これが本当であるために、あること、同じグラフ上で両方のラインをプロット

import numpy as np 
import matplotlib.pyplot as plt 

x=np.linspace(0,np.pi*2,1000) 
plt.plot(x,np.sin(x),hold=True) 
plt.plot(x,np.sin(x)**2,hold=True) 
plt.show() 

enter image description here

を考慮することが表示されます。 holdがfalseに設定されている場合、次のplotの呼び出しは前のものを上書きします。例えば、最初の結果@MattDMo

import numpy as np 
import matplotlib.pyplot as plt 

x=np.linspace(0,np.pi*2,1000) 

plt.plot(x,np.sin(x),hold=True) 
plt.plot(x,np.sin(x)**2,hold=False) 
plt.show() 

enter image description here

+3

MatplotlibはPython以外のMATLABのようなステートフルなAPIではなくPythonオブジェクト指向の非ステートフルAPIを提供していますか?誰ですか? **誰か?** –

+0

セシルは、あなただけではありません。私はあなたのコメントにもっと... .... +100それをサポートすることができませんでした。それは非常に強力なライブラリであり、優れた結果を生み出すことができますが、私は認めなければなりませんが、本当に厄介なドキュメンテーションと恐ろしいAPIを使っています!私は "難しい道"を学びました。私は一人ではないと確信しています。 ドキュメンテーションが警告を出し、問題を明確に述べるならば、(病気の)MATLABのようなAPIでうまくいくでしょう。しかし、ドキュメンテーションはAPIパラメータの判読不能なパイルアップです...ブラウズするのは非常に難しいです。 – Ariel

3

the documentationから:

holdがTrueの場合、後続のプロットコマンドが現在の軸に追加されます。ホールドがFalseの場合は、現在の軸と図は、次のplotコマンド上でクリアされます

描画する前に、将来のプロットは、前の1(S)上に描画されている場合、または数字がクリアされている場合、ホールドの値が決定。

関連する問題