我正在尝试使用第一个维度作为时间为python中的3D数组设置动画。
我不确定我要去哪里,因为我没有收到这段代码的错误。但是我的动画是静止的,停留在数组的第一页上。
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
array = np.random.random(size=(10, 20, 30))
empty = np.zeros(array[0].shape)
fig = plt.figure()
mat = plt.imshow(empty)
def func(i):
mat.set_data(array[i])
return mat
frames = len(array)
FuncAnimation(fig, func, frames)
plt.show()
我想使用下面的代码,但是我没有看到任何与FuncAnimation一起使用的匿名函数。除了未创建mat
并将其设置为初始axes
之外,它产生的结果相同。
fig = plt.figure()
func = lambda i: plt.imshow(array[i])
frames = len(array)
FuncAnimation(fig, func, frames)
plt.show()
答案 0 :(得分:0)
您的代码与在matplotlib动画中找到的任何示例之间的主要区别在于,您实际上并未存储FuncAnimation
。根据运行方式的不同,将直接对其进行垃圾收集。
ani = FuncAnimation(...)