Python FuncAnimation不会迭代更新

Python FuncAnimation不会迭代更新,python,matplotlib,Python,Matplotlib,我试图用一个简单的线性回归代码为拟合过程制作动画: def train_model(iter1): if iter1 == 5: a.event_source.stop() yhat=forward(X) loss=criterion(yhat,y) plt.cla() plt.plot(X.numpy(),y.numpy()) plt.scatter(X.numpy(),yhat.detach().numpy(),s=7,col

我试图用一个简单的线性回归代码为拟合过程制作动画:

def train_model(iter1):
    if iter1 == 5: 
        a.event_source.stop()
    yhat=forward(X)
    loss=criterion(yhat,y)
    plt.cla()
    plt.plot(X.numpy(),y.numpy())
    plt.scatter(X.numpy(),yhat.detach().numpy(),s=7,color='r')
    LOSS.append(loss.item())
    loss.backward()
    w.data = w.data - Lr * w.grad.data
    w.grad.data.zero_()
    plt.annotate('n = {}'.format(iter1), [2,27])

fig=plt.figure()
a = animation.FuncAnimation(fig, train_model, interval=0.001)
问题是动画只运行函数一次,并且不会超过iter1=0,而我希望它运行5次。
感谢您的评论。

如果使用
blit=True
您需要返回艺术家进行更新。此外,在清除轴的同时进行blit也是没有意义的。@ImportanceOfBeingErnest感谢您的评论。我删除了blit,但仍然不起作用。在这种情况下,请尝试提出一个解决方案。(另外,请注意间隔应大于1,但这不应导致此处出现问题)