gpt4 book ai didi

python - iPython + pylab/matplotlib 动画挂起

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:12 25 4
gpt4 key购买 nike

我一生都无法让 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 和 matplotlib 1.3

最佳答案

上面的内容 - 无需取消注释任何内容即可正常工作:

ipython animate.py

也是如此

ipython --pylab=auto

In [1]: import animate

所以我认为你的问题是你试图将后端选择很重要的交互模式与连续运行而没有交互的脚本结合起来 - 这是冲突。

阅读文档herehere我怀疑您需要在 animate.py 中调用 IPython.lib.inputhook.InputHookManager 来设置后端。

IPython 0.13.2 matplotlib'1.3.0'kubuntu 13.10

关于python - iPython + pylab/matplotlib 动画挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19466825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com