[matplotlib animation] 56. 順次出現するデータにドロネー三角形分割を適用するアニメーション

matplotlib Animation

はじめに

matplotlibのtriplotを使って、順次出現するデータにドロネー三角形分割を適用したアニメーションを作成した。

コード

解説

モジュールのインポート

データの生成

np.random.randint(27)により0から1の範囲を要素としてもつサイズが27の形状の配列(np.array)を生成する。

アニメーションの設定

最初にax.cla()ですでに表示されいるグラフを消す。
次にax.set_aspectなどで見た目の調整をする。
tri.Triangulation(x[:3+num], y[:3+num])でドロネー三角形分割を行う。返り値としては、点の情報と三角の辺の情報を含むデータが得られる。
このデータをtriplotでplotすることでドロネー三角形分割が表示できる。
分割に用いるデータをx[:3+num], y[:3+num]のようにすることで増やすことでアニメーションとしている。

アニメーションの表示

FuncAnimation でアニメーションを表示する。25はフレーム数でintervalの200は画面が切り替わる時間(ms)となる。HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションをうまく表示できる。

frame数=50

frame数=100

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

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

参考

Triplot Demo — Matplotlib 3.1.0 documentation
ドロネー図 - Wikipedia

コメント