はじめに
matplotlib FuncAnimationでデータの追加によりヒストグラムの形状が変わっていくアニメーションを表示する。
コード
解説
モジュールのインポート
図とデータの生成
アニメーションの設定
空のリストの生成
アニメーション関数内で作成した図をいれるためのリスト。
アニメーションの関数
古いプロットを消す
図をいれるリスト(plotdata)にすでに図が入っている場合は、plotdata.pop().remove()により、リストな中身を消すことができる。
データの追加
平均0、標準偏差1の正規分布に従う乱数データ(500こ)をnp.concatenate()により所定の回数追加する。
ヒストグラムデータとax.bar()によるヒストグラムの作成
matplotlibのhistogramは使わずに、np.histogram()でデータを生成して、生成したデータをax.bar()でプロットする。
プロットして、リストに.append()で追加することで表示できる。
タイトルの表示
積算により変化していく、平均値と標準偏差を求め、タイトルに表示する。
アニメーションの表示
50stepアニメーション関数を実行して、200 ms間隔で順次図をかえていくので、10secのアニメーションとなる。
HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。
参考
Animated histogram — Matplotlib 3.9.2 documentation
コメント