"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2025-01-19
Parcourir:834

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')

Placez ce 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.

Vous pouvez également définir le backend de manière permanente en modifiant votre fichier de configuration .matplotlibrc. Dans la section backend, définissez les éléments suivants :

backend : Agg

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

Une fois que le backend approprié est configuré, vous pouvez générer des images PNG à l'aide de matplotlib sans rencontrer l'erreur "DISPLAY non défini".

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3