matplotlib的backend问题

用matplotlib绘图时出现一个非常玄学的问题,在python2环境下,sciview可以显示出来所绘的图,但在python3环境下,什么都不显示。找了一圈,发现我python2环境下matplotlib的backend是‘TkAgg’,这个可以显示绘制的图,但是当matplotlib的backend是'agg'时就不显示所绘制的图了。所以目前解决办法是将matplotlib的'agg'转换为‘TkAgg’。

1、在我的Python3环境下,将‘agg’转换成'TkAgg';

       import matplotlib

       matplotlib.use('TkAgg')

使用matplotlib的use()命令。 调用use()方法必须在import matplotlib.pyplot或者matplotlib.pylab之前设置
可以使用的后端有 [‘GTK3Agg’, ‘GTK3Cairo’, ‘MacOSX’, ‘nbAgg’, ‘Qt4Agg’, ‘Qt4Cairo’, ‘Qt5Agg’, ‘Qt5Cairo’, ‘TkAgg’, ‘TkCairo’, ‘WebAgg’, ‘WX’, ‘WXAgg’, ‘WXCairo’, ‘agg’, ‘cairo’, ‘pdf’, ‘pgf’, ‘ps’, ‘svg’, ‘template’]

2、在终端运行Python程序时,使用MPLBACKEND='TkAgg' python 文件名.py也可以;

3、在matplotlibrc文件中设置后端参数。
 

matplotlib.get_backend()可以查看当前你的环境用的是哪个backend。可以先判断一下自己的环境是哪个,然后再决定下一步操作。

你可能感兴趣的:(matplotlib的backend问题)