\

PythonのデータビジュアライゼーションライブラリであるMatplotlibを使用して、リアルタイムにプロットを更新する方法について説明します。

プロットの更新

Matplotlibのプロットを更新するための基本的な方法は2つあります。

  1. データを再プロットする: これは最も簡単で堅牢なオプションですが、最も遅い方法でもあります。データを再プロットするためには、graph1.clear()graph2.clear()を呼び出してからデータを再プロットします。

  2. プロットオブジェクトのデータを更新する: この方法は、毎回全てを再プロットするよりもはるかに高速です。ただし、プロットするデータの形状は変更できず、データの範囲が変更される場合は、x軸とy軸の限界を手動でリセットする必要があります。

以下に、プロットオブジェクトのデータを更新する方法の例を示します。

import matplotlib.pyplot as plt
import numpy as np

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

plt.ion()

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()

このコードでは、np.linspace(0, 6*np.pi, 100)で生成されたx値に対するsin関数の値をプロットしています。ループ内で、line1.set_ydata(np.sin(x + phase))を使用してyデータを更新し、fig.canvas.draw()fig.canvas.flush_events()を使用して図を更新しています。

まとめ

PythonのMatplotlibを使用してリアルタイムにプロットを更新する方法は、データを再プロットする方法とプロットオブジェクトのデータを更新する方法の2つがあります。どちらの方法を選択するかは、プロジェクトの要件とリソースによります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です