Начнем с двух сторон: во-первых, вы уверены, что этот код на самом деле выполняется?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, конечно.