在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