在无图形界面的linux系统中,想要用matplotlib,如何实现?
---mpld3 是matplotlib 和 javascript D3js 得到的可以在网页上绘图的工具。
直接mpld3.show(ip=ip address)
出错:
_tkinter.TclError: no display name and no $DISPLAY environment variable
因为没有python 上没有装此环境
加入 matplotlib.use('Agg')
因为:Using matplotlib backend: agg
Populating the interactive namespace from numpy and matplotlib
matplotlib把不同使用情形和输出格式作为目标。一些人用matplotlib在python shell上交互,当他们输入命令能够弹出绘图窗口。一些人把matplotlib嵌入到其他的用户图形接口如:wxpython或者pygtk中来编写丰富的应用程序。有些人用matplotlib使用到批处理脚本中,从数字模拟中生成Postscript图片,还有些人用在web应用服务器中来动态生成图。
为了支持所有的使用情形,matplotlib能够产生不同的输出,而把每一个不同输出的能力叫做一个后端。而前端就是用户需要处理的代码,如绘图代码,然后后端做的就是所有看不到的辛苦工作来生成视图窗口。这里有两种不同类型的后端:
1.用户接口后端(又叫做"交互式后端",如pygtk, wxpython, thinter,qt, macosx或者fltk)。
2.硬拷贝后端,也叫做非交互式后端,用来生成图像文件(PNG,SVG,PDF, PS)
主要有两种方式配置你的后端。
1. 在matplotlibrc文件中设置后端参数,请查看
自定义matplotlib
backend : WXAgg # 使用wxpython和antigrain(agg)渲染
2. 另外一种方式是使用matplotlib的use()命令。
backend : WXAgg # 使用wxpython和antigrain(agg)渲染
2. 另外一种方式是使用matplotlib的use()命令。
import matplotlib
matplotlib.use('PS') # 默认生成postscript输出。