ホームページ >バックエンド開発 >Python チュートリアル >同時計算のためにコード実行から matplotlib プロットを切り離す方法は?
同時計算のための取り外し可能な Matplotlib プロット
データ視覚化の領域では、対話型プロットの生成は多くの場合重要な側面です。人気の Python ライブラリである Matplotlib は、静的で対話型のプロットを作成する機能を提供します。ただし、継続的な計算を可能にするために matplotlib プロットをコード実行から切り離そうとすると、制限が発生する可能性があります。
課題: コード実行からプロットを切り離す
次の点を考慮してください。 Python コード スニペット:
from matplotlib.pyplot import * plot([1,2,3]) show() # other code
このコードを実行すると、プロット ウィンドウが表示されます。ただし、問題は、プログラムがさらに計算を進める前にプロット ウィンドウを終了する必要があることにあります。プログラムが計算を続行している間、中間結果を対話的に探索することは不可能になります。
解決策: 非ブロッキング Matplotlib 呼び出しを使用します
この課題を克服するために、matplotlib は次のようないくつかの呼び出しを提供します。コードの実行をブロックせずに使用できます。そのような呼び出しの 1 つは、draw() です。次の変更を組み込むことにより、
from matplotlib.pyplot import plot, draw, show plot([1,2,3]) draw() print('continue computation') # at the end call show to ensure window won't close. show()
このコードを実行すると、プログラムが他の計算タスクを続行している間、プロット ウィンドウがすぐに表示されます。 draw() 関数は、コードの実行をブロックすることなくプロットを効果的に更新します。
もう 1 つの方法は、matplotlib で対話型モードを使用することです。
from matplotlib.pyplot import plot, ion, show ion() # enables interactive mode plot([1,2,3]) # result shows immediatelly (implicit draw()) print('continue computation') # at the end call show to ensure window won't close. show()
matplotlib で対話型モードを有効にします。ion( ) 呼び出しを使用すると、draw() を明示的に呼び出す必要がなく、計算の進行に応じてプロットをリアルタイムで更新および表示できます。最後に show() を呼び出すと、プロット ウィンドウが開いたままになります。
以上が同時計算のためにコード実行から matplotlib プロットを切り離す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。