关于matplotlib,pylab,pyplot,ipython有很多问题,所以我很抱歉,如果你不满意看到这个问题。我会尽量具体,因为我一直在关注人们的问题,并查看pyplot和pylab的文档,但我仍然不确定自己做错了什么。与代码:matplotlib.pyplot/pylab没有更新数字而isinteractive(),使用ipython -pylab
目标:每0.5秒绘制一个数字,并在绘图命令被调用后立即更新图形。
我在编码这种尝试如下(在IPython中-pylab运行):
import time
ion()
x=linspace(-1,1,51)
plot(sin(x))
for i in range(10):
plot([sin(i+j) for j in x])
#see **
print i
time.sleep(1)
print 'Done'
它正确地绘制每一行,但直到它已退出for循环。我试图通过将draw()
写入**
来强制重绘,但这似乎也不起作用。理想情况下,我想简单地添加每行,而不是完全重绘。如果需要重新绘制,那很好。
额外尝试解决:
只是在ion()
后,试图加入hold(True)
无济于事。
踢试图show()
为**
最接近的答案我发现我想要做的是在plotting lines without blocking execution,但show()
没有做任何事情。
我很抱歉,如果这是一个简单的要求,我正在寻找一些如此明显的东西。对于它的价值,这出现了,当我试图将matlab代码从类转换为一些python供我自己使用。原来MATLAB(初始化删除),我一直在努力转换如下:
for i=1:time
plot(u)
hold on
pause(.01)
for j=2:n-1
v(j)=u(j)-2*u(j-1)
end
v(1)= pi
u=v
end
任何帮助,哪怕它只是“查找this_method”将是优秀的,所以我至少可以缩小我的努力搞清楚如何使用该方法。如果还有更多有用的信息,请告诉我。
[你应该使用'pyplot.pause'而不是'time.sleep'。](http://stackoverflow.com/questions/12822762/pylab-ion-in-python-2-matplotlib-1-1- 1-and-the-the-the-pro-the-pro) – 2013-06-05 23:36:43
我在Windows上使用QT4Agg后端时遇到了同样的问题,我相信它与这个[github问题](https://github.com)有关/ matplotlib/matplotlib/issues/1646),使用pyplot.pause()修复它。 – seumas 2013-08-12 11:13:31