我搜索了很多网站,使用了情节,子图,一些基本动画和其他迂回方式,但是尽管使用了close(),clf()等,这个数字也不会关闭。
我有这样的事情:
import numpy
from pylab import *
import time
fig = Figure()
counter1 = 0
counter2 = 0
while counter1<5:
counter1 = counter1+1
while counter2<10:
scatter(x_list[counter2], y_list[counter2], hold = 'on') ### x_list and y_list are just lists of random numbers
counter2 = counter2 + 1
show()
sleep(0.5)
close()
我正在寻找任何解决方案,如上所示。情节,子情节,动画......
答案 0 :(得分:3)
要开始的两个方面问题:首先,您确定这是您实际运行的代码吗? sleep在我的pylab版本中不是一个函数,所以你的导入时间似乎与你的调用不匹配,应该是time.sleep(0.5)..其次,我根本不理解你的循环。看起来你正在绘制相同的东西5次,因为counter1没有效果,你在暂停之前将每个点添加到散点图。您是否尝试逐点绘制x_list / y_list?
如果你使用draw()而不是show()我认为它应该工作; show()是持有close()的东西。以下是你想要的东西吗?
import time
from pylab import *
ion()
# test data
x = arange(0, 10, 0.5)
y = 10*x+exp(x)*abs(cos(x))
for j in range(len(x)):
if j > 0: scatter(x[:j], y[:j])
# assuming we don't want the limits to change
xlim(0, 10)
ylim(0, 1000)
draw()
time.sleep(2)
#close()
请注意,我已经注释掉了close(),因为这样可以产生一个漂亮的动画。如果你留下它,它会继续关闭并重新打开窗口,这可能是你想要的,但对我的眼睛看起来并不是很有用。当然是YMMV。