当我在家中的电脑上试用此功能时,它可以正常工作,但不能在我的电脑上工作。下面的代码Matplotlib动画未显示
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import sys
import multiprocessing
def update_line(num, gen, line):
data = gen.vals_queue.get()
data = np.array(data)
line.set_data(data[..., :num])
return line,
class Generator(multiprocessing.Process):
def __init__(self):
self.vals = [[], []]
super(Generator, self).__init__()
self.vals_queue = multiprocessing.Queue()
def run(self):
while True:
self.vals[0].append(np.random.rand())
self.vals[1].append(np.random.rand())
self.vals_queue.put(self.vals)
if __name__ == '__main__':
gen = Generator()
gen.start()
fig1 = plt.figure()
l, = plt.plot([], [], 'r-')
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.xlabel('x')
plt.title('test')
print 11111111111111
sys.stdout.flush()
line_ani = animation.FuncAnimation(fig1, update_line, frames=None, fargs=(gen, l),
interval=50, blit=True, repeat=False)
print 222222222222222222222222
sys.stdout.flush()
plt.show()
print 3333333333333333333333333
sys.stdout.flush()
而且我看到的输出是
11111111111111
222222222222222222222222
3333333333333333333333333
,应用程序不会退出,只是挂在那里,但没有数字弹出。我从Linux终端运行它。我matplotlib的版本是matplotlib-2.0.0-1.x86_64
另外,我在工作中得到这个(问题之一)
CentOS Linux release 7.2.1511 (Core)
echo $SHELL
/bin/bash
echo $BASH_VERSION
4.2.46(1)-release
Python 2.7.12
我认为我们将需要更多的信息,即:OS两台计算机的,在boths Python版本,并可能使用的shell运行Python文件(例如,IPython都不会公开另一个窗口显示数字) –
请参阅上面的编辑。我没有从iPython运行它,只是从Linux终端运行。 –