Heim > Backend-Entwicklung > Python-Tutorial > Wie erstelle ich PNG-Bilder mit Matplotlib, wenn DISPLAY nicht definiert ist?

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

DDD
Freigeben: 2024-12-09 14:54:13
Original
541 Leute haben es durchsucht

How to Generate PNG Images with Matplotlib When DISPLAY is Undefined?

Generieren eines PNG mit matplotlib, wenn DISPLAY undefiniert ist

Problem:

Beim Versuch Wenn Sie mit matplotlib ein PNG-Bild erstellen, ohne dass eine DISPLAY-Umgebungsvariable definiert ist, kann es zu Fehlermeldungen kommen, die darauf hinweisen, dass matplotlib kein geeignetes Bild finden kann Backend.

Ursache:

matplotlib verwendet standardmäßig ein X-basiertes Backend, das eine gültige DISPLAY-Variable erfordert. Wenn DISPLAY nicht definiert ist, löst Matplotlib einen Fehler aus.

Lösung: Verwenden Sie das „Agg“-Backend

Um dieses Problem zu beheben, zwingen Sie Matplotlib, das „Agg“ zu verwenden. Backend, das keine grafische Darstellung erfordert. Dies kann erreicht werden, indem vor allen anderen Matplotlib-Importen der folgende Code hinzugefügt wird:

import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')
Nach dem Login kopieren

Erklärung:

Das Agg-Backend ist ein nicht interaktives Backend, das Folgendes bereitstellt: Möglichkeit, Zahlen als Dateien zu speichern, ohne dass eine grafische Darstellung erforderlich ist. Indem Sie matplotlib so einstellen, dass dieses Backend verwendet wird, können Sie PNG-Bilder auch ohne eine gültige DISPLAY-Variable generieren.

Alternative Lösungen:

  • Setzen Sie die DISPLAY-Variable auf a Gültiges Anzeigegerät.
  • Verwenden Sie ein anderes Python-Modul, das für das Bild nicht auf Matplotlib angewiesen ist Generation.
  • Legen Sie das Backend in der .matplotlibrc-Datei fest:
backend : Agg
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstelle ich PNG-Bilder mit Matplotlib, wenn DISPLAY nicht definiert ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage