Python matplotlib: рисунок не может обновляться после шоу - PullRequest
1 голос
/ 12 апреля 2020

Следующий код работает нормально:

Python 3.8.2 (default, Apr  8 2020, 14:31:25) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> fig.suptitle("Empty figure")
Text(0.5, 0.98, 'Empty figure')
>>> fig.show()

Но если я установлю субтитры (или сделаю что-то другое) после show, он не будет работать, даже если я снова запущу show().

Python 3.8.2 (default, Apr  8 2020, 14:31:25) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> fig.show()
>>> fig.suptitle("Empty figure")
Text(0.5, 0.98, 'Empty figure')
>>> fig.show()

Я новичок в python. Может ли кто-нибудь помочь мне?

1 Ответ

1 голос
/ 12 апреля 2020

В matplotlib метод .show() по своей природе предназначен для блокировки любого дальнейшего выполнения кода после его вызова до тех пор, пока показанный рисунок не будет закрыт. Если вы не включите интерактивный режим, вызвав .ion() перед вызовом .show(), или не будет указан необязательный логический параметр, чтобы также отключить функцию блокировки:

plt.show(block=False)

Проверьте документация здесь: https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.show.html

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