回答編集履歴
1
回答を修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
回答ではないのですが、matplotlib の[公式ドキュメントのアニメーションの説明ページ](https://matplotlib.org/stable/api/animation_api.html)や、そこからリンクされている FuncAnimation のサンプルプログラムを見ていると、plt.cla() を行なっているプログラムはひとつもありません。
|
2
2
|
それでよくよくサンプルプログラムを見てみると、質問文で引用されている Qiita の FuncAnimation のプログラムは、FuncAnimation の使い方としては問題があるのではないでしょうか。
|
3
3
|
|
4
|
-
Qiita のプログラムは関数の中で plt.cla() と plt.plot() をしていて、つまり関数が実行されるたびに Axes オブジェクトを削除して再度 Axes オブジェクトを生成するということを繰り返しているのですが、公式ドキュメントのプログラムを読むと、Axes オブジェクトを生成するのは関数の外で1回のみで、関数の中ではプロットのためのデータを変更しているだけのように読めます。
|
4
|
+
Qiita のプログラムは関数の中で plt.cla() と plt.plot() をしていて、つまり関数が実行されるたびに Axes オブジェクトを初期化して再度プロットをし直す ~~ Axes オブジェクトを削除して再度 Axes オブジェクトを生成する~~ ということを繰り返しているのですが、公式ドキュメントのプログラムを読むと、Axes オブジェクトの初期化は ~~Axes オブジェクトを生成するのは~~ 関数の外で1回のみで、関数の中ではプロットのためのデータを変更しているだけのように読めます。
|
5
5
|
|
6
6
|
[公式ドキュメントのサンプルプログラム](https://matplotlib.org/stable/gallery/animation/simple_anim.html)を参考にして、Qiita のプログラムを書き換えてみました。
|
7
7
|
|