【Matplotlib】リアルタイムグラフ

この記事では、Python向けグラフ描画ライブラリ「Matplotlib」を用いて、対話モードでリアルタイム変化するグラフを作る方法を紹介します。

対話モード(インタラクティブモード)

Pythonモジュール「Matplotlib」でリアルタイム変化するグラフを作成するには対話モード(インタラクティブモード)を使う必要があります。
今回は、これを試してみました。

ソースコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt

def main():
    (x, y) = (0, 0)     # 初期値
    plt.ion()           # 対話モードオン

    while( y != 10 ):
        line, = plt.plot(x, y, "ro",label="y=x") # (x,y)のプロット
        line.set_ydata(y)   # y値を更新
        plt.title("Graph")  # グラフタイトル
        plt.xlabel("x")     # x軸ラベル
        plt.ylabel("y")     # y軸ラベル
        plt.legend()        # 凡例表示
        plt.grid()          # グリッド表示
        plt.xlim([0,10])    # x軸範囲
        plt.ylim([0,10])    # y軸範囲
        plt.draw()          # グラフの描画
        plt.clf()           # 画面初期化
        x += 1
        y = x


    plt.close() # 画面を閉じる


if __name__ == '__main__':
    main()

実行結果

サンプルプログラムの実行結果です。

おすすめ関連記事
1 Matplotlib入門 サンプルプログラム集
関連記事