はじめに
このPageでは、Pythonのmatplotlibライブラリを使用して、ピラミッドが徐々に構築されていく様子をアニメーションで表現します。
コード
解説
モジュールのインポート
グラフの設定
ピラミッドの作成
ピラミッドはボクセルを使用して、以下のコードと同様の方法で作成します。

[matplotlib 3D] 46.ボクセルピラミッド(Voxel Pyramid)
Matplotlibの3Dグラフ機能を使用して、voxel(ボクセル)でピラミッド形状を描画する方法を解説します。3次元空間内に立体的なピラミッドを表現し、視覚的に理解しやすいデータ可視化手法を紹介します。
アニメーションの設定
アニメーション表示するための変数の設定
このアニメーションでは各ボクセルが下方向に移動するだけですが、Z軸上の異なる位置にあるボクセルを個別に動かす必要があるため、各層のボクセルに対して専用の変数を設定します。
np.full()関数は、例えばnp.full(10,-1)とすると、-1が10個入った配列を生成します。
np.concatenate()は配列を結合するメソッドです。shift_*の配列はすべて大きさ100に揃えています。
アニメーションの設定
ax.cla()を使用して古いボクセルグラフを消去します。この操作ではラベルも消えてしまうため、毎回ax.set_xlabel()などの関数でラベル名を再設定する必要があります。
各層のボクセルにshift_*パラメータを適用し、ボクセルが下から上へ移動するアニメーションを作成します。
アニメーションの表示
intervalは、アニメーションの各フレーム間の切り替え時間をミリ秒単位で設定するパラメータです。
framesはupdate関数が実行される回数を指定し、interval × frames = 10000[ms]となるため、アニメーションの総再生時間は10秒になります。
jupyter notebook上でアニメーションを表示するには、HTML(ani.to_html5_video())を実行します。
参考

[matplotlib animation] 24. Voxelグラフのアニメーション
matplotlib FuncAnimationを使用してVoxelグラフのアニメーションを作成する方法を解説します。3D空間内の立方体ボクセル表示をアニメーション化し、視覚的に動的なデータ表現を実現する技術について詳しく説明しています。Pythonの3Dデータ可視化に役立つ内容です。
コメント