#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.