Поиск draw_if_interactive() в pyplot.py

В модуле pyplot есть несколько выражений draw_if_interactive(), но я не могу найти определение этой функции нигде в модуле.

Исходя из интуиции и чтения, легко догадаться, что функция обеспечивает построение графика по требованию, но где я могу прочитать ее определение? Благодарю.

1 ответ

Решение

Функция фактически находится в коде бэкэнда. Фактическая реализация зависит от вашего бэкэнда. Например, функция с TkAgg бэкэнд находится в backend_tkagg.py:

def draw_if_interactive():
    if matplotlib.is_interactive():
        figManager =  Gcf.get_active()
        if figManager is not None:
            figManager.show()

Похоже, такие же функции для других бэкэндов, они используют matplotlib.is_interactive чтобы определить, является ли это интерактивным сеансом, а затем использовать специальные команды рисования бэкэнда для рисования изображения.

Другие вопросы по тегам