„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie erstelle ich PNG-Bilder mit Matplotlib, wenn die DISPLAY-Variable nicht definiert ist?

Wie erstelle ich PNG-Bilder mit Matplotlib, wenn die DISPLAY-Variable nicht definiert ist?

Veröffentlicht am 19.01.2025
Durchsuche:922

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

Generieren eines PNG mit Matplotlib, wenn DISPLAY nicht definiert ist

In Python ist Matplotlib eine beliebte Bibliothek zum Erstellen statischer, animierter und interaktiver Visualisierungen . Wenn jedoch DISPLAY in der Umgebung nicht festgelegt ist, kann der Versuch, mit matplotlib ein PNG-Bild zu generieren, zur Fehlermeldung „Kein Anzeigename und keine Umgebungsvariable $DISPLAY“ führen. Dieser Fehler tritt auf, weil das Standard-Backend von Matplotlib einen Agg ist ein nicht interaktives Backend, das keinen X-Server erfordert und die Erstellung von Bildern in Headless-Umgebungen ermöglicht.

So implementieren Sie diese Lösung:

import matplotlib # Matplotlib zwingen, das Agg-Backend zu verwenden matplotlib.use('Agg')

import matplotlib
# Force matplotlib to use the Agg backend
matplotlib.use('Agg')

Alternativ können Sie das Backend dauerhaft festlegen, indem Sie Ihre .matplotlibrc-Konfigurationsdatei ändern. Legen Sie im Backend-Abschnitt Folgendes fest:

backend : Agg

backend : Agg

Sobald das entsprechende Backend vorhanden ist konfiguriert, können Sie PNG-Bilder mit matplotlib generieren, ohne dass der Fehler „DISPLAY undefiniert“ auftritt.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3