我的动画功能有一些迭代问题(matplotlib.animation / Python)

时间:2017-07-03 08:07:12

标签: python matplotlib

我尝试使用matplotlib.animation创建动画直方图,但是animation.FuncAnimation运行不正常:使用此代码时,我在官方文档中找到了

"""
A simple example of an animated plot
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()

x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))


def animate(i):
    print(i)
    line.set_ydata(np.sin(x + i/10.0))  # update the data
    return line,


# Init only required for blitting to give a clean slate.
def init():
     line.set_ydata(np.ma.array(x, mask=True))
     return line,

ani = animation.FuncAnimation(fig, animate, np.arange(1, 200),init_func=init,interval=25, blit=True)
plt.show()

我得到的结果是init()函数创建的图形(也是一个空图形),但没有动画迭代。此外,我测试了其他代码,这实际上给了我相同的结果:我得到初始化,或第一帧,但不是更多。安装matplotlib和matplotlib.animation,一切似乎都没问题,除了它不起作用。有人知道如何解决它? (先谢谢你:)!)

2 个答案:

答案 0 :(得分:1)

在使用Jupyter笔记本时,我遇到了同样的问题,我通过插入行解决了该问题

%matplotlib notebook

在代码中。

答案 1 :(得分:0)

可能是您的Spyder中的IPython配置为自动使用内联后端。这将在控制台内显示您的绘图作为png图像。当然png图像不能动画。

我建议不要使用IPython,而是在专用的Python控制台中执行脚本。在Spyder中,转到Run / Configure ..并将选项设置为新的专用Python控制台。

enter image description here