Необходимо принудительно отображать цифры и закрывать при необходимости во время выполнения кода - PullRequest
0 голосов
/ 20 октября 2018

У меня есть код 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) не приводят ни к какому отображению, вплоть до конца выполнения, чего я и пытаюсь избежать.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...