Подтвердить что ты не робот

Разница между plt.draw() и plt.show() в matplotlib

Мне было интересно, почему некоторые люди помещают plt.draw() в свой код перед plt.show(). Для моего кода поведение plt.draw(), похоже, ничего не меняло о выходе. Я сделал поиск в Интернете, но не нашел ничего полезного.

(предположим, что мы импортировали pyplot как from matplotlib import pyplot as plt)

4b9b3361

Ответ 1

plt.show() отобразит текущий показатель, над которым вы работаете.

plt.draw() будет повторно рисовать фигуру. Это позволяет работать в интерактивном режиме и, если вы изменили свои данные или форматирование, разрешите изменять график.

Состояние plt.draw docs:

Это используется в интерактивном режиме для обновления фигуры, которая была изменена с использованием одного или нескольких вызовов метода объекта объекта; он не нужен, если модификация фигуры полностью выполняется с функциями pyplot, если последовательность модификаций заканчивается функцией pyplot или если matplotlib находится в неинтерактивном режиме, а последовательность модификаций заканчивается show() или savefig().

Это, по-видимому, предполагает, что использование plt.draw() до plt.show(), если не в интерактивном режиме, будет избыточным в подавляющем большинстве случаев. Единственный раз, когда вам это может понадобиться, - если вы делаете некоторые очень странные модификации, которые не связаны с использованием функций pyplot.