この記事は「この記事は最終更新日から1年以上が経過しています。」を経験しています。
matplotlib.animation
を使って連続的に生成される画像を表示したい。次のように画像生成してimshow
する関数を作ればこれができる。
途中plt.clf()
をしているのは、ステップを重ねるごとに重くなっているように思えたので、毎度クリアしてみたというもの。
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
N = 50
fig, ax = plt.subplots()
def update(i):
a = np.uint8(np.random.uniform(0, 255, [N, N, 3]))
a[i:, i:] = 0.
plt.clf()
plt.imshow(a)
hoge = animation.FuncAnimation(fig, update, np.arange(1, N), interval=25) # 代入しないと消される
plt.show()
以上。