python3下Matplotlib中文显示乱码的问题

python3下Matplotlib中文显示乱码的问题

        使用matplotlib绘图时,想要显示中文总是显示不了,解决办法如下,亲测好用:

1  linux系统下

        1.1   使用如下命令找到中文字体库:

                            fc-list :lang=zh   # 找到中文字体库的位置

            1.2  增加设置字体

import matplotlib
matplotlib.use('qt4agg')
from matplotlib.font_manager import *
import matplotlib.pyplot as plt
myfont = FontProperties(fname='/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc',size=30) # 此处改为前面,此处设置字体大小,linux中文字体在次设置,
#解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus']=False

绘图的例子:

plt.plot([-1,2,-5,3],label="中文显示")
plt.title(u'中文',fontproperties=myfont)
plt.legend(fontsize=10,prop=myfont)  ## 如果是图例,则是prop
plt.show()

2  windows下

     2.1  直接增加以下设置

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

就可以,然后正常使用matplotlib

       

你可能感兴趣的:(python)