Все они делают разные вещи, так как matplotlib использует иерархический порядок, в котором окно фигуры содержит фигуру, которая может состоять из множества осей.Кроме того, есть функции из интерфейса pyplot и методы класса Figure
.Я рассмотрю оба случая ниже.
интерфейс pyplot
pyplot
- это модуль, который собирает несколько функций, позволяющих функционально использовать matplotlib.Здесь я предполагаю, что pyplot
было импортировано как import matplotlib.pyplot as plt
.В этом случае есть три разные команды, которые удаляют вещи:
plt.cla()
очищает оси , то есть текущие активные оси на текущем рисунке.Остальные оси остаются нетронутыми.
plt.clf()
очищает всю текущую фигуру со всеми ее осями, но оставляет окно открытым, так что его можно использовать для других графиков.
plt.close()
закрывает окно , которое будет текущим окном, если не указано иное.
Какая функция подходит вам лучше всего, зависит, таким образом, от вашего варианта использования.
Кроме того, функция close()
позволяет указать, какое окно должно быть закрыто.Аргументом может быть либо номер, либо имя, данное окну, когда оно было создано с использованием figure(number_or_name)
, или это может быть полученный экземпляр фигуры fig
, то есть с использованием fig = figure()
.Если аргумент close()
не задан, текущее активное окно будет закрыто.Кроме того, существует синтаксис close('all')
, который закрывает все цифры. Методы
класса Figure
Кроме того, класс Figure
предоставляет методы для очистки фигур.Далее я предполагаю, что fig
является экземпляром Figure
:
fig.clf()
очищает всю цифру .Этот вызов эквивалентен plt.clf()
, только если fig
является текущей цифрой.
fig.clear()
является синонимом fig.clf()
Обратите внимание, что даже del fig
не закроетсвязанное окно рисунка.Насколько я знаю, единственный способ закрыть окно фигуры - это использовать plt.close(fig)
, как описано выше.