Как очистить графики matplotlib из памяти - PullRequest
0 голосов
/ 01 апреля 2020

Итак, я запускал код ранее и получил следующее предупреждение:

Warning (from warnings module):
  File "<string>", line 558
RuntimeWarning: More than 20 figures have been opened. Figures created through 
the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly 
closed and may consume too much memory. (To control this warning, see the rcParam
`figure.max_open_warning`).

Warning (from warnings module):
  File "<string>", line 665
RuntimeWarning: More than 20 figures have been opened. Figures created through 
the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly 
closed and may consume too much memory. (To control this warning, see the rcParam 
`figure.max_open_warning`).

Не собираюсь l ie, я был очень небрежен и все равно запускал его, игнорируя предупреждение. Теперь, когда я пытаюсь запустить скрипт, моя оболочка python не запускает скрипт.

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

Я попробовал следующее, и он все еще не позволяет мне запустить код:

  1. plt.clf()
  2. plt.cla()
  3. f = plt.figure() f.clear() plt.close(f)
  4. plt.close('all')
  5. matplotlib.pyplot.figure().clear() matplotlib.pyplot.close()

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 01 апреля 2020
import matplotlib._pylab_helpers as pylhelp

pylhelp.Gcf().destroy_all()

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

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