當DISPLAY 未定義時使用Matplotlib 產生PNG
在Python 中,matplotlib 是一個流行的庫,用於創建靜態、動畫和互動式視覺化。但是,當環境中未設定 DISPLAY 時,嘗試使用 matplotlib 產生 PNG 映像可能會導致錯誤訊息「無顯示名稱且無 $DISPLAY 環境變數」。出現此錯誤是因為 matplotlib 的預設後端需要 X 伺服器,而該伺服器在某些環境中不可用。
要解決此問題,我們必須明確設定 matplotlib 以使用 Agg(反顆粒幾何)後端。 Agg 是一個非互動式後端,不需要 X 伺服器,允許在無頭環境中建立映像。
以下是如何實現此解決方案:
放置此在導入任何其他 matplotlib 子模組(例如 pyplot)之前,在腳本開頭添加程式碼。透過在導入 pyplot 之前將後端設定為 Agg,我們確保 matplotlib 不會嘗試使用 X-using 後端。
或者,您可以透過修改 .matplotlibrc 設定檔來永久設定後端。在後端部分,設定以下內容:
此全域設定無需在腳本中明確指定後端。
配置適當的後端後,您可以產生 PNG使用 matplotlib 的映像不會遇到「DISPLAY undefined」錯誤。
以上是當 DISPLAY 變數未定義時,如何使用 Matplotlib 產生 PNG 影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!