[matplotlib animation] 94. ボロノイ図のアニメーション

matplotlib

はじめに

ボロノイ図とは、任意の位置に配置された複数個の点に対して、同一平面上の他の点がどの点に近いかによって分割した図のことである。ここでは、scipy.spatialのVoronoi, voronoi_plot_2dで順次出現する点のボロノイ図を生成するアニメーションをmatplotlibのFuncAnimationによって作成する。

コード

解説

モジュールのインポート

バージョン

データの生成

形状が(100,2)のランダムなデータを作成する。

アニメーションの設定

最初にデータ点を10としたボロノイ図を作成、表示して、データ数10のボロノイ図をax.cla()で消してデータ数を一つ増やしたボロノイ図を作成、表示することでアニメーションとする。
ax.set(xlim=(-0.2,1.2), ylim=(-0.2,1.2))で表示範囲を固定しておく。

アニメーションの表示

FuncAnimationでアニメーションを表示する。frame数を90,intervalを100msとして9秒のアニメーションとする。
HTML(ani.to_html5_video())により、jupyter notebook またはjupyter lab上にアニメーションを表示できる。

ani.save(‘ファイル名’, writer=”ffmpeg”,dpi=250)でアニメーションをMP4形式で保存することができる。

円状に並んだデータの場合

データは下記サイトをもとにして作成した。

Triplot Demo — Matplotlib 3.1.2 documentation
コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

scipy.spatial.voronoi_plot_2d — SciPy v1.13.0 Manual

コメント

  1. […] グラフの更新にはサボテンパイソンさんのソースを参考にしました […]