Интерактивный режим matplotlib: определить, отображается ли по-прежнему окно рисунка

Я использую matplotlib в интерактивном режиме, чтобы показать пользователю график, который поможет им ввести диапазон переменных. У них есть возможность нажать "?" чтобы показать этот график, и затем запрос переменных будет повторяться.

Как я узнаю, что этот график нельзя перерисовывать, если он все еще отображается?

На первый взгляд, у меня есть этот неуклюжий (псевдопочтовый) код:

answer = None
done_plot = False
while answer == None:
    answer = get_answer()
    if answer == '?':
        if done_plot:
            have_closed = True
            ##user's already requested a plot - has s/he closed it?
            ## some check here needed:
            have_closed = ?????

            if have_closed == False:
                print 'You already have the plot on display, will not re-draw'
                answer = None
                continue
        plt.ion()
        fig = plt.figure()
        ### plotting stuff
        done_plot = True
        answer = None
    else:
        ###have an answer from the user...

что я могу использовать (в терминах plt.gca (), fig и т.д. Есть ли где-нибудь статус, который я могу проверить?

Большое спасибо,

Дэвид

16
задан Dave 26 September 2011 в 15:00
поделиться