ホームページ >バックエンド開発 >Python チュートリアル >リアルタイム データ収集のために Matplotlib アニメーションを最適化する方法

リアルタイム データ収集のために Matplotlib アニメーションを最適化する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-11 20:07:02515ブラウズ

 How to Optimize Matplotlib Animations for Real-Time Data Collection?

Matplotlib プロットのアニメーション: データ収集の最適化

データ収集アプリケーションでは、グラフ全体を再描画せずにプロットを動的に更新することが重要です。この最適化により、特に長期間データを収集する場合のパフォーマンスが向上します。

問題: 再描画または間隔ベースのアニメーション?

従来、プロットの更新には、プロットをクリアして再描画するか、プロットをアニメーション化する必要がありました。一定の間隔。ただし、どちらの方法もリアルタイムのデータ収集には理想的ではありません。時間の経過とともに再描画が遅くなり、間隔ベースのアニメーションではデータが到着してもすぐにプロットを更新できません。

解決策: 増分ポイントの追加

新しいデータを受信した場合にのみプロットを動的に更新するにはの場合は、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。