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