Python 3.x 类中的动画人物(图像)

Python 3.x 类中的动画人物(图像),python-3.x,Python 3.x,我想创建一个动画图像 我发现一些代码可以很好地使用函数 但是,当我尝试编写完全相同的代码时,它不再使用函数,而是使用类(es),不再有效 我已经挣扎了几个小时,在互联网上找不到任何答案。我相信这并没有那么困难,但我真的不明白我的代码的哪一部分是错的 谢谢你的帮助 版本1(功能类型):有效 将numpy作为np导入 将matplotlib.pyplot作为plt导入 将matplotlib.animation导入为动画 从matplotlib.animation导入时间信息 图=plt.图()

我想创建一个动画图像

我发现一些代码可以很好地使用函数

但是,当我尝试编写完全相同的代码时,它不再使用函数,而是使用类(es),不再有效

我已经挣扎了几个小时,在互联网上找不到任何答案。我相信这并没有那么困难,但我真的不明白我的代码的哪一部分是错的

谢谢你的帮助

版本1(功能类型):有效

将numpy作为np导入
将matplotlib.pyplot作为plt导入
将matplotlib.animation导入为动画
从matplotlib.animation导入时间信息
图=plt.图()
定义f(x,y):
返回np.sin(x)+np.cos(y)
x=np.linspace(0,2*np.pi,120)
y=np.linspace(0,2*np.pi,100)。重塑(-1,1)
myfig=f(x,y)
im=plt.imshow(myfig,动画=True)
def updatefig(*参数):
全局x,y
x+=np.pi/15。
y+=np.pi/20。
im.set_数组(f(x,y))
返回即时消息,
ani=animation.FuncAnimation(图,updatefig,interval=50,blit=True)
plt.show()
版本2(类类型):不工作

类动画人物:
定义初始化(自):
self.fig=plt.figure()
self.x=np.linspace(0,2*np.pi,120)
self.y=np.linspace(0,2*np.pi,100)。重塑(-1,1)
self.f()
self.im=plt.imshow(self.data,动画=True)
self.ani=animation.FuncAnimation(self.fig,self.updatefig,interval=50,blit=True)
def f(自我):
self.data=np.sin(self.x)+np.cos(self.y)
def updatefig(自身,*参数):
self.x+=np.pi/15。
self.y+=np.pi/20。
self.f()
self.im.set_数组(self.data)
AF=动画人物()
您在第二个版本中没有调用
plt.show()
,因此实际上没有显示任何内容。我认为还有另一个错误与
animation.FuncAnimation()
如何要求它的第二个参数返回某些内容有关,但我无法在基本上不返回到函数大小写的情况下解决它。在第二个版本中,您不调用
plt.show()
,因此实际上没有显示任何内容。我认为还有另一个错误与
animation.FuncAnimation()
如何要求它的第二个参数返回某些内容有关,但我无法在基本上不返回到您的函数情况下找出如何修复它。