首頁 >後端開發 >Python教學 >如何修復'當 DISPLAY 未定義時使用 matplotlib 產生 PNG”錯誤?

如何修復'當 DISPLAY 未定義時使用 matplotlib 產生 PNG”錯誤?

Patricia Arquette
Patricia Arquette原創
2024-12-01 16:10:12186瀏覽

How to Fix the

如何解決「當DISPLAY 未定義時使用matplotlib 產生PNG」錯誤

在DISPLAY 環境下嘗試使用matplotlib 產生PNG 映像時會出現此錯誤變數未設定或未定義。這種情況通常發生在無頭環境(例如伺服器或批次腳本)中執行 matplotlib 時。

此錯誤的主要原因是 matplotlib 預設選擇需要 X Windows 顯示的後端。要解決此問題,您必須明確強制 matplotlib 使用不需要 X Windows 的後端。

解決方案:

要解決此問題,請在之前包含以下程式碼匯入任何其他matplotlib 模組:

import matplotlib

# Force matplotlib to use a backend that does not require X Windows.
matplotlib.use('Agg')

這會將後端設定為Agg(Anti-Grain Geometry)後端,旨在產生影像,無需X Windows 顯示。

替代解決方案:

另一個解決方案是直接在中設定後端.matplotlibrc 設定檔。該檔案通常位於 ~/.config/matplotlib 目錄中。將以下行新增至檔案:

backend: Agg

這會將所有 matplotlib 實例的後端永久設定為 Agg。

重要

記住必須在導入任何其他 matplotlib 模組之前實作這些解決方案,例如pyplot。否則,matplotlib 將已經選擇其後端,並且 use('Agg') 指令將無法運作。

以上是如何修復'當 DISPLAY 未定義時使用 matplotlib 產生 PNG”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn