はじめに
ボロノイ図とは、任意の位置に配置された複数個の点に対して、同一平面上の他の点がどの点に近いかによって分割した図のことである。ここでは、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
参考
voronoi_plot_2d — SciPy v1.14.1 Manual
コメント
[…] グラフの更新にはサボテンパイソンさんのソースを参考にしました […]