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

Matplotlib избавиться от вывода max_open_warning

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

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:412: RuntimeWarning: открыто более 20 фигур. Рисунки, созданные с помощью интерфейса pyplot (matplotlib.pyplot.figure), сохраняются до явного закрытия и могут занимать слишком много памяти. (Чтобы контролировать это предупреждение, смотрите rcParam figure.max_num_figures). max_open_warning, RuntimeWarning)

Я нашел эту страницу, которая, кажется, объясняет, как решить эту проблему, но после того, как я следую инструкциям, ничего не меняется:

import matplotlib as mpl
mpl.rcParams[figure.max_open_warning'] = 0

Я вошел в файл после вызова matplotlib напрямую из python, чтобы увидеть, какой файл rcparams я должен исследовать, и вручную изменил 20 на 0. Все еще без изменений. В случае, если документация была неправильной, я также изменил ее на 1000, и все еще получаю те же самые предупреждения.

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

4b9b3361

Ответ 1

Попробуйте настроить его так:

import matplotlib as plt
plt.rcParams.update({'figure.max_open_warning': 0})

Не уверен, почему именно это работает, но это отражает то, как я изменил размер шрифта в прошлом и, кажется, исправил предупреждения для меня.

Ответ 2

Другой способ, который я только попробовал, и это работало:

import matplotlib as mpl
mpl.rc('figure', max_open_warning = 0)