matplotlib中plot.show()不顯示圖片的問題

關於matplotlib不顯示的問題,碰到過多次,貌似是默認安裝使用anaconda時都會碰到,不知道matplotlib爲什麼一直不解決這個問題。所以記錄一下。

默認情況下,matplotlib的backend使用的是agg,或template,此時是無法顯示圖片的,agg庫不支持。

好奇的可以查一下自己的配置文件,如

>>> import matplotlib
>>> matplotlib.matplotlib_fname()
C:\Users\Administrator\.matplotlib\matplotlibrc

解決辦法:

先把自己版本所支持的backends打印出來看一下,

>>>import matplotlib.rcsetup as rcsetup
>>>print(rcsetup.all_backends)
['GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template']

例如,把配置文件

C:\Users\Administrator.matplotlib\matplotlibrc

的內容改成正面的情況:

backend      : TkAgg

一般圖片就能正常顯示了,當然你也可以不停嘗試下其他的backends,像有些backends是需要安裝 其他支持包的,如cairo。

linux上解決辦法也是相同的,只不過配置文件的位置不一樣。

 

給幾個有用的參考:

https://stackoverflow.com/questions/2130913/no-plot-window-in-matplotlib

https://stackoverflow.com/questions/7534453/matplotlib-does-not-show-my-drawings-although-i-call-pyplot-show

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章