はじめに
この記事では、matplotlibのmplot3dモジュールを使用して、3Dグラフを回転させるアニメーションを作成する方法について詳しく解説します。Pythonで動的な3Dビジュアライゼーションを実現するための基本的な手法から、アニメーションの保存方法まで、実践的なテクニックを紹介します。
コード
解説
モジュールのインポート
スタイルの適用
テストデータの取得
get_test_dataの引数を変更すると、以下のような結果になります。
最初に表示するグラフの設定
視点を変えるアニメーション関数
関数からfigを返す必要があります。
elevはElevation viewing angle(仰角)の略で、視点の高さを設定します(デフォルト値は30)。
azimはAzimuthal viewing angle(方位角)の略で、水平方向の角度を設定します(デフォルト値は-60)。
アニメーションの表示
figはfigureオブジェクトで、このfigにアニメーションを表示します。
animateはアニメーションを制御する関数で、ここでは3.6°ずつ横方向に回転するよう設定しています。
init_funcは初期化関数で、アニメーション開始時に表示するグラフの初期設定を行います。
frameはアニメーション全体のコマ数を指定します。
intervalは表示間隔をミリ秒単位で設定します。例えば100msに設定すると、100フレームの場合は10秒のアニメーションになります。
blitをTrueにすると、アニメーションが最適化され、表示がスムーズになるなどの効果があります。
アニメーションをHTML5のビデオにして出力することができます。
アニメーションの保存
上記のようにすることで100 dpiのアニメーションをffmpegで書き出して指定のファイル名で保存することができる。
blit=Falseとしたアニメーション
軸とグリッドを消したアニメーション
grid(False)を使用するとグリッドが非表示になり、set_axis_off()を使用すると軸が非表示になります。
縦方向回転
3Dグラフの縦方向の回転は下記記事で解説しました。

縦&横方向回転
3Dグラフの縦&横の両方向の回転は下記記事で解説しました。

参考

コメント
[…] […]
[…] アニメーションの部分は下記のwireframeの回転アニメーションとおなじコードとなっている。 […]