欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 不显示图片 直接保存图片 matplotlib 后端执行指令

程序员文章站 2022-05-25 16:05:38
...

在服务器上画图的时候没有 matplotlib的绘图的环境提示“没有显示的环境变量”

no display name and no $DISPLAY environment variable

之后去matplotlib找解决方案,终于知道原因了。matplotlib用pyplot画图的时候用的是一种交互的模式,matplotlib库里本身就包含一些后端,这些后端能够适应不同的编辑器,尽管有点时候画完了不进行show()后者draw()会不显示,但依旧是在交互的默认后端里进行操作的。

然鹅,用服务器想画图的时候,发现居然不支持matplotlib画图,最终在帮助文档中找到的解决方案。用户开可以通过指定“非交互式后端”来实现。

import matplotlib
matplotlib.use('Agg')    #指定后端渲染器

除了‘Agg’以外matplotlibh还支持其他的后端渲染器的指令

matplotlib渲染器
渲染器 支持类型 描述
AGG png 栅格图像——agg库
PS ps,eps 向量图——ps格式
PDF pdf 向量图——pdf
SVG svg 向量图——svg
Cairo png, ps, pdf, svg

栅格图像、矢量图——Cairo库

在用的时候发现,各种渲染器支持的类型很宽泛, 常用的格式(jpg,png,tiff...)各种渲染器保存的类型都支持。

此外,matplotlib还支持其他QT5,QT4,GTK,macosx操作,具体可以看帮助文档https://matplotlib.org/Matplotlib.pdf,网页版https://www.matplotlib.org.cn/tutorials/introductory/usage.html#what-is-a-backend

相关标签: python记录