Python – 図形を含むアニメーション

ArtistAnimationの場合

ArtistAnimationにグラフを追加するには、たとえばplotメソッドの戻り値をそのままリストに追加していけばよい。

ところが、matplotlib.patchesの図形の場合に同じようにすると、アニメーションにならず全フレームの図形が重ね書きされてしまう。

これを解決するには、appendの際に[]で囲んでリスト化する必要がある。

以下は円の図形のアニメーションのコード例。

実行結果は以下の通り。

グラフと図形の重ね合わせ

グラフと図形を重ね合わせるときも、patchesの図形を明示的にリストとしてappendする必要がある。

以下は、plotによる線とpatches.Circleによる円を重ねて描く例。

実行結果は以下の通り。

FuncAnimationの場合

FuncAnimationの場合は描画関数中でグラフを描くだけで、ArtistAnimationのようなコレクションを用いない。

この場合はArtistAnimationより簡明で、グラフはAxesオブジェクトなどに描画、図形はadd_artistメソッドで追加するだけ。

以下はArtistAnimationと同じく、plotによる線とpatches.Circleによる円を重ね牡蠣する例。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です