アニメーション付き折れ線グラフ

Beginner

This tutorial is from open-source community. Access the source code

はじめに

このチュートリアルでは、Python の Matplotlib ライブラリを使ってアニメーション付きの折れ線グラフを作成する方法を説明します。折れ線グラフは、時間とともに振幅が変化するサイン波を表示します。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

最初のステップは、必要なライブラリをインポートすることです。グラフを作成するために Matplotlib と、データを生成するために NumPy を使用します。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

グラフと軸の初期化

次に、グラフ用の図と軸を初期化する必要があります。これは、Matplotlib のsubplots()関数を使って行うことができます。

fig, ax = plt.subplots()

データの生成

このステップでは、折れ線グラフ用のデータを生成します。x 軸の値の配列を生成するために NumPy のarange()関数を、サイン波の y 軸の値の配列を生成するためにsin()関数を使用します。

x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))

アニメーション関数の定義

アニメーション関数は、FuncAnimation()関数によって呼び出され、新しいデータでグラフを更新するために使用されます。この例では、時間とともに振幅が変化するサイン波で折れ線グラフの y 軸の値を更新します。

def animate(i):
    line.set_ydata(np.sin(x + i / 50))  ## update the data.
    return line,

アニメーションオブジェクトの作成

ここでは、FuncAnimation()関数を使ってアニメーションオブジェクトを作成できます。グラフオブジェクト、アニメーション関数、更新間隔、保存するフレーム数を渡します。

ani = animation.FuncAnimation(
    fig, animate, interval=20, blit=True, save_count=50)

グラフの表示

最後に、Matplotlib のshow()関数を使ってグラフを表示できます。

plt.show()

まとめ

このチュートリアルでは、Python の Matplotlib ライブラリを使ってアニメーション付きの折れ線グラフを作成する方法を学びました。グラフと軸を初期化し、データを生成し、アニメーション関数を定義し、アニメーションオブジェクトを作成しました。そして、show()関数を使ってグラフを表示しました。