Linux服務器沒有GUI的情況下使用matplotlib繪圖
需求描述:
- Linux服務器沒有GUI 或者 遠程單純使用 Xshell等 命令窗口來 操作 Linux
- 使用 plt.plot 等彈窗畫圖時,因爲沒有 GUI或者 使用的 操作方法 不支持 畫圖彈窗的傳輸顯示,就會報錯
- 據說 使用 XManger 裏面的 Xshell來 進行這個操作,如我的:
python plot_history.py
裏面 有畫圖彈窗代碼 ,便可以成功傳輸呈現出來。(這個是領導說的,我還沒有嘗試)
解決方法:在 你的 畫圖程序 最上方添加如下代碼:
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('Agg')
情況二:
基本情況同上, cv2.imshow(“result”, out_image),需要彈窗
Xshell 報錯截圖:
原因:python程序 裏面有 cv2.imshow(“result”, out_image),需要彈窗,這個安裝了XManger才支持,XShell不支持,因此代碼中註釋掉該畫圖 代碼 或者 通過判斷不讓它 執行。