У меня есть код Python, который отображает несколько цифр.Соответствующие части:
import matplotlib.pyplot as plt
plt.ion()
for p in range(np):
for g in range(ng):
figs = []
for n in range(ns):
figs.append(plt.figure())
gsg = # object I am working with
cg = plt.contourf(gsg.x, gsg.y, gsg.u[:,:])
cb = plt.colorbar()
figs[n].suptitle(title)
print title, gsg.u[ex_index,ex_index,:]
go_ahead = raw_input()
В некоторых случаях я не могу выполнить это прямо и просто посмотреть на все фигуры, потому что создается слишком много фигур и Python начинает автоматически закрывать некоторые из них.
Итак, я хочу, чтобы этот внутренний цикл отображал ns
цифр, затем я приостанавливаю выполнение (отсюда ввод go_ahead
), смотрю отображаемые цифры, закрываю их на экране и позволяю коду идтидо следующей партии.Я не могу понять, как заставить это работать.
Самое близкое, что я пришел, - это поставить команду plt.show(block=True)
после figs[n].suptitle()
.Это приводит к отображению фигуры во время выполнения, но я вижу только одну фигуру за раз.plt.show()
и plt.show(block=False)
не приводят ни к какому отображению, вплоть до конца выполнения, чего я и пытаюсь избежать.
Есть идеи?