在linux下使用ipython的pylab模式时发现使用matplotlib绘制的图形并未之直接显示出来,而且程序也没有出现任何的错误提示,很是奇怪
google之后发现原始来matplot配置信息的问题,通过调整matplotlibrc
中的backend配置就可以轻松解决这一问题,解决方案如下:
(1)找出matplotlibrc
的具体问题
In [4]: import matplotlib
In [5]: matplotlib.matplotlib_fname()
Out[5]: '/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc'
(2)根据实际情况调整matplotlibrc配置
vim /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc
# 'module://my_backend'
# backend : Agg
backend : Qt4Agg
# If you are using the Qt4Agg backend, you can choose here
# to use the PyQt4 bindings or the newer PySide bindings to
# the underlying Qt4 toolkit.
# backend.qt4 : PyQt4 # PyQt4 | PySide
backend.qt4 : PySide # PyQt4 | PySide
对于backend的配置信息,可以通过
In [3]: import matplotlib.rcsetup as rcsetup
In [4]: rcsetup.all_backends
来获取所有支持的backend列表
按照上述方法修改matplotlibrc
即可,此时再调用matplotlib绘制图形的时候就可以看到图形显示窗口
需要注意的是:请根据具体环境设置backend,如果使用了qt也请根据实际情况设置backend.qt4是使用的PyQt4还是PySide