Создание PNG с помощью Matplotlib, когда DISPLAY не определено
В Python matplotlib — популярная библиотека для создания статических, анимированных и интерактивных визуализаций . Однако, если в среде не установлен DISPLAY, попытка создать изображение PNG с помощью matplotlib может привести к сообщению об ошибке «нет отображаемого имени и нет переменной среды $DISPLAY». Эта ошибка возникает из-за того, что для бэкэнда matplotlib по умолчанию требуется X-сервер, который недоступен в определенных средах.
Чтобы решить эту проблему, мы должны явно настроить matplotlib на использование бэкенда Agg (Anti-Grain Geometry). Agg — это неинтерактивный бэкэнд, не требующий X-сервера, позволяющий создавать изображения в безголовых средах.
Вот как реализовать это решение:
import matplotlib # Force matplotlib to use the Agg backend matplotlib.use('Agg')
Поместите этот код в начало вашего скрипта перед импортом любых других подмодулей matplotlib, таких как pyplot. Установив для бэкэнда значение Agg перед импортом pyplot, мы гарантируем, что matplotlib не будет пытаться использовать бэкэнд, использующий X.
В качестве альтернативы вы можете установить бэкэнд навсегда, изменив файл конфигурации .matplotlibrc. В разделе бэкэнда установите следующее:
backend : Agg
Эта глобальная настройка устраняет необходимость явно указывать бэкэнд в ваших скриптах.
Как только соответствующий бэкэнд будет указан настроено, вы можете генерировать изображения PNG с помощью matplotlib, не сталкиваясь с ошибкой «DISPLAY undefined».
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3