matplotlib标签出现乱码解决方案

问题来源

def wx_show_sex_infor(data):
    labers = ['男性','女性','未标记']
    data = [data['male'],data['female'],data['other']]
    plt.pie(data,labels=labers,autopct='%.2f',shadow=True)
    plt.show()
    plt.savefig('sex.jpg')
    plt.close()

问题:生成饼图标签出现乱码

解决方案——修改matplotlibrc

  1. 选取中文字体
  2. 修改matplotlibrc
  3. 测试

1. 选取中文字体

中文字体以simsun为例,在 C:\Windows\Fonts下面找到“simsun”字体。matplotlib默认安装在 %PythonPath%\Lib\site-packages目录下。

我的目录:D:\Visual Studio\shared\Python37_64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

复制simsun字体到 %PythonPath%\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\

2. 修改matplotlibrc

  • 找到font.family,改为font.family:monospace注意消除前面的#
  • 换行添加:font.monospace : simsun

3. 测试

matplotlib标签出现乱码解决方案_第1张图片

你可能感兴趣的:(python)