Cette erreur survient lors de la tentative de génération d'une image PNG à l'aide de matplotlib lorsque l'environnement DISPLAY la variable n’est pas définie ou n’est pas définie. Cela se produit généralement lors de l'exécution de matplotlib dans un environnement sans tête tel qu'un serveur ou un script batch.
La principale cause de cette erreur est que matplotlib choisit un backend qui nécessite un affichage X Windows par défaut. Pour résoudre ce problème, vous devez explicitement forcer matplotlib à utiliser un backend qui ne nécessite pas X Windows.
Solution :
Pour résoudre ce problème, incluez le code suivant avant importer tout autre module matplotlib :
import matplotlib # Force matplotlib to use a backend that does not require X Windows. matplotlib.use('Agg')
Cela définira le backend sur le backend Agg (Anti-Grain Geometry), qui est conçu pour générer des images sans avoir besoin d'un affichage X Windows.
Solution alternative :
Une solution alternative consiste à définir le backend directement dans le . matplotlibrc fichier de configuration. Ce fichier se trouve généralement dans le répertoire ~/.config/matplotlib. Ajoutez la ligne suivante au fichier :
backend: Agg
Cela définira définitivement le backend sur Agg pour toutes les instances matplotlib.
Important
Rappelez-vous que ces solutions doivent être implémentées avant d'importer d'autres modules matplotlib, tels que pyplot. Sinon, matplotlib aura déjà choisi son backend, et la directive use('Agg') n'aura aucun effet.
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!