如何解决matplotlib运行出现的Invalid DISPLAY variable

简介: 最近在服务器上运行matplotlib相关的脚本时遇到了"Invalid DISPLAY variable"报错,从报错中就可以知道这是因为没有显示设备导致的报错。

最近在服务器上运行matplotlib相关的脚本时遇到了"Invalid DISPLAY variable"报错,从报错中就可以知道这是因为没有显示设备导致的报错。

解决方案:

方案一: ~/.config/matplotlib/matplotlibr,在里面添加backend : Agg

这个方案不一定有用,如果失效考虑下面两种

方案二: 更换后端

可以先设置后端,然后导入pyplot

import matplotlib 
matplotlib.use('Agg')
import matplotlib.pyplot as plt

或者先导入pyplot,然后切换后端

import matplotlib.pyplot as plt
plt.switch_backend('Agg')

之后可以以Pdf形式或者其他格式保存到硬盘上。

from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
plt.switch_backend('Agg')
pdf = PdfPages('cut_figure.pdf')         #先创建一个pdf文件
plt.figure()
...
...
pdf.savefig()                            #将图片保存在pdf文件中
plt.close()
pdf.close()                              #这句必须有,否则程序结束pdf文件无法打开
目录
相关文章
|
测试技术 开发工具 UED
什么是农场游戏系统开发规则玩法/详细需求/案例详情/源码项目
明确定义游戏概念和目标**: - 确定农场游戏系统的主题和核心玩法,明确目标用户群体,并设定明确的游戏目标和规则。
|
存储 JSON 大数据
大数据离线数仓---金融审批数仓
大数据离线数仓---金融审批数仓
935 1
修改elementui table 组件滚动条样式
修改elementui table 组件滚动条样式
263 0
|
域名解析 存储 缓存
在Linux中,DNS进行域名解析的过程是什么?
在Linux中,DNS进行域名解析的过程是什么?
|
存储 安全 算法
|
Ubuntu
ubuntu搭建NFS服务 磁盘共享 nfs 搭建
ubuntu搭建NFS服务 磁盘共享 nfs 搭建
460 2
|
网络协议 关系型数据库 MySQL
Linux系统之dig命令的基本使用
Linux系统之dig命令的基本使用
738 2
Linux系统之dig命令的基本使用
|
机器学习/深度学习 存储 算法
Pandas中的get_dummies()函数实战应用详解
Pandas中的get_dummies()函数实战应用详解
957 1
|
JavaScript 前端开发 编译器
【JavaScript与TypeScript技术专栏】从JavaScript迁移到TypeScript的最佳实践
【4月更文挑战第30天】本文介绍了从 JavaScript 迁移到 TypeScript 的最佳实践。首先,学习 TypeScript 基础并安装编译器。接着,采取逐步迁移策略,保持与 JavaScript 兼容,利用类型定义和接口增强代码可读性。此外,借助 TSLint 和 Prettier 保证代码质量与风格一致性,使用类型定义文件提升第三方库的可维护性。
217 0
|
JavaScript
Vue引入Echarts图表的使用
Vue引入Echarts图表的使用
295 0
下一篇
oss云网关配置