はじめに
極座標棒グラフの値が変化するアニメーションをmatplotlibのFuncAnimationによって作成する。
コード
解説
モジュールのインポート
バージョン
データの生成
N=9として9つの棒を生やす。theta, radii, widthで角度、半径、幅のデータをそれぞれ作成する。
棒グラフの表示
plt.subplots()で極座標グラフを作成するには、subplot_kw={‘projection’: ‘polar’}とする。
棒の高さに応じて色を変える
bar.set_facecolorでそれぞれの棒の色をセットする。
ラベルやグリッドの設定
以下のような図が作成できる。
アニメーション用のデータの作成
半径radiiにsin波の動きを加えたradii_moveを作成する。
アニメーションの設定
ax.cla()で図をクリアしたあとに再度ax.barで棒グラフを描写する。半径をradii_move[:,num]とすることで異なる値を適用していき、アニメーションとする。
アニメーションの表示
FuncAnimationでアニメーションを表示する。frame数を20,intervalを100msとして2秒のアニメーションとする。 HTML(ani.to_html5_video())
により、jupyter notebook またはjupyter lab上にアニメーションを表示できる。
ani.save(‘ファイル名’, writer=”ffmpeg”,dpi=250)でアニメーションをMP4形式で保存することができる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
Matplotlib logo — Matplotlib 3.3.3 documentation
【Python3入門】*(アスタリスク)1個の機能まとめ
Pythonの*(アスタリスク)は他のプログラミング言語と意味合いが違います。Pythonにポインタはありません。Pythonの*(アスタリスク)にはどんな機能があるのかまとめてみました。*(アスタリスク)1個の機能は大きく分けると5つ1.
コメント