」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 當 DISPLAY 變數未定義時,如何使用 Matplotlib 產生 PNG 影像?

當 DISPLAY 變數未定義時,如何使用 Matplotlib 產生 PNG 影像?

發佈於2025-01-19
瀏覽:778

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

當DISPLAY 未定義時使用Matplotlib 產生PNG

在Python 中,matplotlib 是一個靜態流行的函式庫,用於建立靜態、動畫和互動式視覺化。但是,當環境中未設定 DISPLAY 時,嘗試使用 matplotlib 產生 PNG 映像可能會導致錯誤訊息「無顯示名稱且無 $DISPLAY 環境變數」。出現此錯誤是因為 matplotlib 的預設後端需要 X 伺服器,而該伺服器在某些環境中不可用。

要解決此問題,我們必須明確設定 matplotlib 以使用 Agg(反顆粒幾何)後端。 Agg 是一個非互動式後端,不需要 X 伺服器,允許在無頭環境中建立映像。

以下是如何實現此解決方案:

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

在導入任何其他 matplotlib 子模組(例如 pyplot)之前,將此程式碼放在腳本的開頭。透過在導入 pyplot 之前將後端設定為 Agg,我們可以確保 matplotlib 不會嘗試使用 X-using 後端。

或者,您可以透過修改 .matplotlibrc 設定檔來永久設定後端。在後端部分中,設定以下內容:

backend : Agg

此全域設定無需在腳本中明確指定後端。

一旦選擇了適當的後端配置完成後,您可以使用 matplotlib 產生 PNG 影像,而不會遇到「DISPLAY undefined」錯誤。

最新教學 更多>
  • 為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    [2 _post ['ss'];? > 的目的是從單擊提交按鈕時,文本框並顯示。但是,輸出保持空白。當方法=“ get”無縫工作時,方法=“ post”構成問題。 檢查action屬性:如果您正在刷新頁面,請將操作屬性設置為空字符串,例如] action ='&...
    程式設計 發佈於2025-02-05
  • 如何使用不同數量列的聯合數據庫表?
    如何使用不同數量列的聯合數據庫表?
    合併列數不同的表 當嘗試合併列數不同的數據庫表時,可能會遇到挑戰。一種直接的方法是在列數較少的表中,為缺失的列追加空值。 例如,考慮兩個表,表 A 和表 B,其中表 A 的列數多於表 B。為了合併這些表,同時處理表 B 中缺失的列,請按照以下步驟操作: 確定表 B 中缺失的列,並將它們添加到表的...
    程式設計 發佈於2025-02-05
  • 如何使用PHP從XML文件中有效地檢索屬性值?
    如何使用PHP從XML文件中有效地檢索屬性值?
    從php 您的目標可能是檢索“ varnum”屬性值,其中提取數據的傳統方法可能會使您感到困惑。 - > attributes()為$ attributeName => $ attributeValue){ echo $ attributeName,'=“',$ a...
    程式設計 發佈於2025-02-05
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月份)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP...
    程式設計 發佈於2025-02-05
  • 如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    如何為PostgreSQL中的每個唯一標識符有效地檢索最後一行?
    [2最後一行與數據集中的每個不同標識符關聯。考慮以下數據: 1 2014-02-01 kjkj 1 2014-03-11 ajskj 3 2014-02-01 sfdg 3 2014-06-12 fdsa 在(ID)上選擇DISTINC 來自the_table 按ID訂單,date desc;...
    程式設計 發佈於2025-02-05
  • 如何在整個HTML文檔中設計特定元素類型的第一個實例?
    如何在整個HTML文檔中設計特定元素類型的第一個實例?
    [2單獨使用CSS,整個HTML文檔可能是一個挑戰。 the:第一型偽級僅限於與其父元素中類型的第一個元素匹配。 以下CSS將使用添加的類樣式的第一個段落: }
    程式設計 發佈於2025-02-05
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    出現的問題:可以以這種方式添加匿名事件偵聽器而不會更改元素? 在這里工作/},false); 不幸的是,答案是否。除非在Creation中存儲對處理程序的引用。 要解決此問題,請考慮將事件處理程序存儲在中心位置,例如頁面的主要對象,請考慮將事件處理程序存儲在中心位置,否則無法清理匿名事件處理程...
    程式設計 發佈於2025-02-05
  • 如何限制動態大小的父元素中元素的滾動範圍?
    如何限制動態大小的父元素中元素的滾動範圍?
    在交互式界面中實現垂直滾動元素的CSS高度限制 考慮一個佈局,其中我們具有與可滾動的映射div一起移動的subollable map div用戶的垂直滾動,同時保持其與固定側邊欄的對齊方式。但是,地圖的滾動無限期擴展,超過了視口的高度,阻止用戶訪問頁面頁腳。 可以限制地圖的滾動,我們可以利用CS...
    程式設計 發佈於2025-02-05
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣?使用openssl? 答案:可以使用mcrypt數據加密數據,可以使用openssl。關於如何使用openssl對McRypt進行加密的數據: openssl_decryp...
    程式設計 發佈於2025-02-05
  • 如何從PHP服務器發送文件?
    如何從PHP服務器發送文件?
    將文件發送到user 當用戶與php腳本交互時,您可能會遇到需要傳輸文件的方案,例如PDF,向客戶端的瀏覽器。為此,適當的方法取決於文件的存儲位置。
    程式設計 發佈於2025-02-05
  • 如何使用替換指令在GO MOD中解析模塊路徑差異?
    如何使用替換指令在GO MOD中解析模塊路徑差異?
    克服go mod中的模塊路徑差異 coreos/bbolt:github.com/coreos/ [email受保護]:解析go.mod:模塊將其路徑聲明為:go.etcd.io/bbolt `要解決此問題,您可以在go.mod文件中使用替換指令。只需在go.mod的末尾添加以下行:[&& &...
    程式設計 發佈於2025-02-05
  • 如何使用PHP將斑點(圖像)正確插入MySQL?
    如何使用PHP將斑點(圖像)正確插入MySQL?
    在嘗試將image存儲在mysql數據庫中時,您可能會遇到一個可能會遇到問題。本指南將提供成功存儲您的圖像數據的解決方案。 essue values(' $ this-> image_id','file_get_contents($ tmp_image...
    程式設計 發佈於2025-02-05
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    利用正則表達式示例使用接下來,您可以使用Matcher查找令牌的所有出現,然後用相應的值替換它們: 一旦匯總正則表達式,搜索輸入字符串通常非常快, 。此外,正則表達式還可以靈活地處理複雜的搜索模式,例如涉及括號和量詞的模式。
    程式設計 發佈於2025-02-05
  • 如何使用char_length()在mySQL中按字符串長度對數據進行排序?
    如何使用char_length()在mySQL中按字符串長度對數據進行排序?
    [2 using the built-in CHAR_LENGTH() function.Difference between CHAR_LENGTH() and LENGTH()CHAR_LENGTH():返回字符串中字符數的數量,考慮多字節字符編碼(例如,UTF-8)。 此查詢將從指定的表中...
    程式設計 發佈於2025-02-05
  • 如何使用Python的記錄模塊實現自定義處理?
    如何使用Python的記錄模塊實現自定義處理?
    使用Python的Loggging Module 確保正確處理和登錄對於疑慮和維護的穩定性至關重要Python應用程序。儘管手動捕獲和記錄異常是一種可行的方法,但它可能乏味且容易出錯。 解決此問題,Python允許您覆蓋默認的異常處理機制,並將其重定向為登錄模塊。這提供了一種方便而係統的方法來捕獲...
    程式設計 發佈於2025-02-05

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3