[matplotlib animation] 70. ハートの鼓動アニメーション

matplotlib Animation

はじめに

matplotlibのFuncAnimationでハートが鼓動するアニメーションを表示する。

コード

コードをダウンロード(.pyファイル)コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

データの作成

鼓動によるサイズを変化させるためのデータを作成する。図示すると下記のようになる。

np.tile()による配列の繰り返し

np.tile(beat,10)で配列全体が10回繰り返された配列を得ることができる。

ハートの表示

marker='$\heartsuit$'により、ハートを表示できる。ハートのfacecolorを設定しても中身が塗られないので、ms=80,mew=32でマーカーのサイズとマーカーの線幅を大きくすることでハートを表示した。

アニメーションの設定

set_markersizeでマーカーの大きさをbeat_tileに従って変化させる。

BPMの計算と表示

アニメーションの表示

HTML(ani.to_html5_video())により、jupyter notebook またはjupyter lab上にアニメーションを表示できる。

BPM = 60

BPM = 160

参考

matplotlib入門 散布図の作成 | Python学習講座
numpy.tile — NumPy v1.17 Manual
matplotlib.animation.FuncAnimation — Matplotlib 3.2.1 documentation

コメント