###実現したいこと
最大値の異なるサインカーブがだんだんと増えていくアニメーションを作成したい
###試したコードと結果
jypyter notebook上で以下のコードを実行したところ、アニメーションにはならず、恐らく最後に描画された画像のみが出力されました。
python
1#ライブラリーのインポート 2%matplotlib nbagg 3import matplotlib.pyplot as plt 4import matplotlib.animation as animation 5 6#forループ作成までの前準備 7fig = plt.figure()# Figureのインスタンス生成 8ims = []#画像データをストックするためのリスト作成 9x = np.linspace(0, 2*np.pi, 500)#座標の設定 10a = np.linspace(0, 10, 20)#サインカーブの最大値のリスト 11 12#大きさ違いのsinカーブを描画し、imsリストに追加 13for i in range(len(a)): 14 y = a[i]*np.sin(x) 15 im = plt.plot(x, y, c= "red") 16 ims.append([im]) 17 18#アニメーションの作成 19ani = animation.ArtistAnimation(fig, ims, interval=10) 20plt.show() 21
###気になっていること
Figureインスタンスについての理解があいまいで、そこが起因した問題ではないかと思っています。
###試したこと
plt.showによるインライン表示ではなく、以下のようにgifファイルとして保存することも実行しましたが、gifファイルは作成されませんでした。
python
1ani.save("result.gif", writer="pillow")
###実行環境
pythonのバージョン3.9.5を使用しています。
windows 10でwslのubuntuからjupyter notebookを実行しています。
以上になります。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/15 05:57