web-dev-qa-db-ja.com

複数のPyPlotウィンドウを持つことは可能ですか?または、サブプロットに制限されていますか?

私の質問をもっと明確に表現する方法がわかりません。基本的に、PyPlotは1つのインスタンス/ウィンドウに制限されていますか?ハックや回避策を試みると、プログラムがフリーズするか、最初のウィンドウが閉じられるまで2番目のpyplotウィンドウがキューに入れられます。

27
wnewport

確かに、新しい図を開くだけです:

import matplotlib.pyplot as plt

plt.plot(range(10))

plt.figure()
plt.plot(range(10), 'ro-')

plt.figure(), plt.plot(...)

plt.show() # only do this once, at the end

これをデフォルトのpythonインタープリターで実行している場合、各図はGUIのメインループに入る必要があるため、これは機能しません。インタラクティブなシェルで実行したい場合は、 IPython。これを通常どおりに実行する(つまり、ファイルに入れてpython filename.pyを呼び出す)場合は、正常に機能します。

56
Joe Kington

plt.figure()を使用し、ウィンドウが固定されるように特定の番号を使用します。

plt.figure(200)
plt.plot(x)
plt.show()

別のプロットでは、異なる数値を使用します。

plt.figure(300)
plt.plot(y)
plt.show()
6
j35t3r