我正在编写一个应用程序来显示动态变化的数据(从套接字读取的数据).
作为一个虚拟案例,我尝试绘制一个幅度乘以每秒1.1的正弦:
import numpy as np
import matplotlib.pyplot as plt
import time
x = np.arange(0, 10, 0.1);
y = np.sin(x)
for i in xrange(100):
plt.plot(x, y)
time.sleep(1)
y=y*1.1
Run Code Online (Sandbox Code Playgroud)
这显然不是这样做的,但它表明了我的意图.
怎么能正确完成?
编辑: 以下是@mskimm答案中建议的代码的回溯输出:
plt.show() #Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run
self.__target(*self.__args, **self.__kwargs)
File "<ipython-input-5-ed773f8e3e84>", line 7, in update
plt.draw()
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 466, in draw
get_current_fig_manager().canvas.draw()
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 240, in draw
tkagg.blit(self._tkphoto, self.renderer._renderer, colormode=2) …Run Code Online (Sandbox Code Playgroud)