Generar un PNG con Matplotlib cuando DISPLAY no está definido
En Python, matplotlib es una biblioteca popular para crear visualizaciones estáticas, animadas e interactivas . Sin embargo, cuando DISPLAY no está configurado en el entorno, intentar generar una imagen PNG usando matplotlib puede generar el mensaje de error "sin nombre para mostrar ni variable de entorno $DISPLAY". Este error se produce porque el backend predeterminado de matplotlib requiere un servidor X, que no está disponible en ciertos entornos.
Para solucionar este problema, debemos configurar matplotlib explícitamente para que use el backend Agg (Geometría antigrano). Agg es un backend no interactivo que no requiere un servidor X, lo que permite la creación de imágenes en entornos sin cabeza.
A continuación se explica cómo implementar esta solución:
import matplotlib # Force matplotlib to use the Agg backend matplotlib.use('Agg')
Coloque este código al principio de su script, antes de importar cualquier otro submódulo de matplotlib como pyplot. Al configurar el backend en Agg antes de importar pyplot, nos aseguramos de que matplotlib no intente utilizar un backend que utilice X.
Como alternativa, puede configurar el backend de forma permanente modificando su archivo de configuración .matplotlibrc. En la sección backend, configure lo siguiente:
backend : Agg
Esta configuración global elimina la necesidad de especificar el backend explícitamente en sus scripts.
Una vez que se haya instalado el backend apropiado configurado, puede generar imágenes PNG usando matplotlib sin encontrar el error "DISPLAY indefinido".
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3