データ収集アプリケーションでは、グラフ全体を再描画せずにプロットを動的に更新することが重要です。この最適化により、特に長期間データを収集する場合のパフォーマンスが向上します。
従来、プロットの更新には、プロットをクリアして再描画するか、プロットをアニメーション化する必要がありました。一定の間隔。ただし、どちらの方法もリアルタイムのデータ収集には理想的ではありません。時間の経過とともに再描画が遅くなり、間隔ベースのアニメーションではデータが到着してもすぐにプロットを更新できません。
新しいデータを受信した場合にのみプロットを動的に更新するにはの場合は、matplotlib のアニメーション API、特に FuncAnimation 関数の使用を検討してください。この関数を使用すると、プロットを継続的に更新する関数を定義できます。
import matplotlib.pyplot as plt import numpy hl, = plt.plot([], []) def update_line(hl, new_data): hl.set_xdata(numpy.append(hl.get_xdata(), new_data)) hl.set_ydata(numpy.append(hl.get_ydata(), new_data)) plt.draw()
この例では、hl は line オブジェクトであり、update_line 関数はそのデータを新しいデータ ポイントで拡張します。新しいデータを受信したら、update_line を呼び出すだけでプロットがスムーズかつ効率的に更新されます。
以上がリアルタイム データ収集のために Matplotlib アニメーションを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。