Я часами искал, почему это могло произойти, но безрезультатно.
У меня есть класс для определения процесса анимации:
class Animate:
def __init__(self, I, q, w):
--variable setup---
self.fig = plt.figure(figsize=(6,6))
self.ax = p3.Axes3D(self.fig)
self.verts_plot, = self.ax.plot([],[],[],'b')
. . .
def anim_init(self):
self.ax.axis([-3,3,-3,3])
self.verts_plot.set_data([],[],[])
return [self.z_trace_plot, self.y_trace_plot, self.verts_plot]
def anim_func(self, frame, t_conv):
step = t_conv
sol = self.simulator.solve_step(frame*t_conv, step)
self.verts_plot.set_data(self.vertices[:,0],self.vertices[:,1],self.vertices[:,2])
return [self.z_trace_plot, self.y_trace_plot, self.verts_plot]
def make_animation(self,t_1, t_conv):
tvals = np.linspace(0, t_1, t_1*10 + 1)
fig = plt.figure()
anim = animation.FuncAnimation(fig, anim_func)
plt.show()
return anim
Затем я запускаю эти функции под name == ' main ' внизу с
animation = Animate(I, q_0, w_0)
my_animation = animation.make_animation(10, 1)
Затем мне говорят:
File "animation.py", line 81, in <module>
self.my_animation = animation.make_animation(10, 1)
File "animation.py", line 62, in make_animation
self.anim = animation.FuncAnimation(fig, anim_func)
AttributeError: 'Animate' object has no attribute 'FuncAnimation'