Есть ли способ запретить plotnine печатать предупреждения пользователя при сохранении объектов ggplot в файл?

#python #ggplot2 #plotnine

#python #ggplot2 #plotnine

Вопрос:

Я создаю инструмент моделирования на python, который выводит несколько графиков с использованием plotnine. Однако для каждого отдельного сохраняемого графика я получаю следующие сообщения об ошибках:

 C:UserstarcaAnaconda3libsite-packagesplotnineggplot.py:706: UserWarning: Saving 10 x 3 in image.
  from_inches(height, units), units))

C:UserstarcaAnaconda3libsite-packagesplotnineggplot.py:707: UserWarning: Filename: my_plot.png
  warn('Filename: {}'.format(filename))
  

Я уже пытался вручную задать все аргументы, и я попытался сохранить файлы, используя как plot.save(), так и ggsave() — оба дают одинаковый результат. При поиске ошибки единственное, что появляется, это то, что автор следующего руководства получает те же ошибки, хотя они не рассматриваются в нем:

https://monashdatafluency.github.io/python-workshop-base/modules/plotting_with_ggplot/

Для сохранения графиков я использую код, аналогичный:

 plot.save(filename = 'my_plot.png', width = 10, height = 3, dpi = 300)
  

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

Ответ №1:

Я не уверен, почему это предупреждение все еще отображается в руководстве, на которое вы ссылаетесь, потому что, как только я

 import warnings
warnings.filterwarnings('ignore')
  

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

Комментарии:

1. Да, у меня это тоже работает, но оно подавляет все предупреждения, включая те, которые могут быть важными. В настоящее время я отключаю и включаю предупреждения до и после построения графика, хотя я бы хотел, чтобы plotnine разрешил это, поскольку я не уверен в цели / значении предупреждений.

Ответ №2:

Да, есть, просто используйте:

 fig2.save(fig_dir   "/figure2.png", width = w, height = h, verbose = False)
  

Если вы не укажете verbose = , plotnine всегда будет отображать предупреждение. Почему, смотрите в их модуле GitHub.