Maison > développement back-end > Tutoriel Python > Comment générer des images PNG avec Matplotlib lorsque la variable DISPLAY n'est pas définie ?

Comment générer des images PNG avec Matplotlib lorsque la variable DISPLAY n'est pas définie ?

Linda Hamilton
Libérer: 2024-11-30 15:20:10
original
474 Les gens l'ont consulté

How to Generate PNG Images with Matplotlib When the DISPLAY Variable Is Undefined?

Générer un PNG avec Matplotlib lorsque DISPLAY n'est pas défini

En Python, matplotlib est une bibliothèque populaire pour créer des visualisations statiques, animées et interactives . Cependant, lorsque DISPLAY n'est pas défini dans l'environnement, tenter de générer une image PNG à l'aide de matplotlib peut conduire au message d'erreur "pas de nom d'affichage et pas de variable d'environnement $DISPLAY". Cette erreur se produit car le backend par défaut de matplotlib nécessite un serveur X, qui n'est pas disponible dans certains environnements.

Pour résoudre ce problème, nous devons explicitement configurer matplotlib pour qu'il utilise le backend Agg (Anti-Grain Geometry). Agg est un backend non interactif qui ne nécessite pas de serveur X, permettant la création d'images dans des environnements sans tête.

Voici comment implémenter cette solution :

import matplotlib
# Force matplotlib to use the Agg backend
matplotlib.use('Agg')
Copier après la connexion

Placez ceci code au début de votre script, avant d'importer tout autre sous-module matplotlib tel que pyplot. En définissant le backend sur Agg avant d'importer pyplot, nous garantissons que matplotlib ne tente pas d'utiliser un backend utilisant X.

Alternativement, vous pouvez définir le backend de manière permanente en modifiant votre fichier de configuration .matplotlibrc. Dans la section backend, définissez ce qui suit :

backend : Agg
Copier après la connexion

Ce paramètre global élimine le besoin de spécifier explicitement le backend dans vos scripts.

Une fois le backend approprié configuré, vous pouvez générer du PNG images utilisant matplotlib sans rencontrer l'erreur "DISPLAY non défini".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal