IPython的+ pylab / matplotlib动画挂(iPython + pylab/ma

2019-10-18 19:37发布

我不能为我的生命得到IPython的显示动画的情节。 此代码是直接取自matplotlib动画的例子,它使用普通的旧python(称为正常工作python animate.py )。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()
line, = ax.plot(np.random.rand(10))
ax.set_ylim(0, 1)

def update(data):
    line.set_ydata(data)
    return line,

def data_gen():
    while True: yield np.random.rand(10)

ani = animation.FuncAnimation(fig, update, data_gen, interval=100)

#plt.ion()
plt.show()

#while 1:
    #plt.draw()

与调用ipython --pylab auto animate.pyipython --pylab tk animate.py都导致窗口立即消失。 如果我取消对ion()plt.draw()它只是绘制一个单个帧,然后挂起。 我需要使用IPython的,因为它更线程安全比正常matplotlib实施。

我究竟做错了什么? 在OSX 10.8使用python2.7.2与IPython的1.1和1.3 matplotlib

Answer 1:

以上 - 只需不取消注释干啥,正常工作:

ipython animate.py

所以呢

ipython --pylab=auto

In [1]: import animate

所以,我认为你的问题是,你正试图在后端选择是与非交互连续运行的脚本重要结合的互动模式 - 这是一个矛盾。

读文件在这里和这里我怀疑你需要对呼叫IPython.lib.inputhook.InputHookManageranimate.py设置你的后台。

IPython的0.13.2 matplotlib '1.3.0' 的Kubuntu 13.10



Answer 2:

我也一直在努力这一点。 看来广大用户的使用JSAnimation从杰克Vanderplaas。 链接。 https://github.com/jakevdp/JSAnimation 。 这是不是在Enthought分发包,然而,然后提出需要分别导入。



文章来源: iPython + pylab/matplotlib animations hang