はじめに
matplotlib は Python の強力なデータ可視化ライブラリですが、3D グラフ上でテキストをアニメーション化する機能も備えています。この記事では、その実装方法と応用例を詳しく解説します。
コード
解説
モジュールのインポート
3Dグラフの作成
3Dグラフとするために、ax を fig.gca(projection=’3d’)とします。
データのプロット
データを媒介変数を使って3D線グラフで表示しました。このプロットの詳細については下記で解説しています。

プロットしたデータに沿ってテキストを表示する方法を説明します。
テキストのアニメーション
最初に、textsという空のリストを作成します。このリストにテキストのプロットを格納します。
古いテキストを消す操作はtexts.pop().remove()で行います。テキストの表示は、text_, = [ax.text(x[num], y[num], z[num], “sabopy.com“, color=’red’)]のように実装します。詳細は以下で解説します。

生成したtext_をtextsリストにappendすることで、後で.pop().remove()メソッドを使って簡単に削除できるようにしています。
アニメーションの表示
アニメーション関数を100ステップ実行し、100ミリ秒間隔で図を更新するため、合計10秒のアニメーションが生成されます。Jupyter Notebook上では、HTML(ani.to_html5_video())を実行することでアニメーションを直接表示できます。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考




コメント