ホームページ >バックエンド開発 >Python チュートリアル >新しいデータで Matplotlib プロットを効率的に更新するにはどうすればよいですか?

新しいデータで Matplotlib プロットを効率的に更新するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 18:38:12288ブラウズ

How Can I Efficiently Update Matplotlib Plots with New Data?

Matplotlib でのプロットの更新

Matplotlib で対話型プロットを操作する場合、多くの場合、新しいデータでプロットを更新する必要があります。これは 2 つの方法で実現できます。

オプション 1: クリアして再プロット

このアプローチには、既存のプロットをクリアして最初から再描画することが含まれます。これを行うには:

  1. graph1.clear() とgraph2.clear() を呼び出して現在のデータを削除します。
  2. 前と同じように新しいデータを再計算してプロットします。

この方法はシンプルですが、

オプション 2: データの更新

グラフ全体の再プロットを避けるために、既存のプロット オブジェクトのデータを直接更新できます。これははるかに高速ですが、次のことが必要です。

  1. プロット ロジックをデータ取得ロジックから分離するようにコードを変更します。
  2. データの形状が一定のままであることを確認します。
  3. データ範囲が異なる場合は、X 軸と Y 軸の制限を手動でリセットします。

例:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()

以上が新しいデータで Matplotlib プロットを効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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