Ubuntu下matplotlib绘图中文乱码问题的解决

本文介绍如何在Ubuntu16.04系统中,使用Python 3.5.2版本下的Matplotlib库正确显示中文。具体步骤包括下载微软雅黑字体并放置到系统字体文件夹及matplotlib字体文件夹,修改matplotlib配置文件以启用中文支持,最后通过代码示例展示如何在图表中正确显示中文标签。
作者:司毅
链接:https://www.zhihu.com/question/25404709/answer/128171562
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

折腾了一天,终于搞定了.
系统Ubuntu16.04
Python版本:3.5.2

第一步:下载字体:msyh.ttf (微软雅黑)
放在系统字体文件夹下:
/usr/share/fonts

同时我也复制了下放在matplotlib的字体文件夹下了(不知道这一步是不是必须)
/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/

第二步:修改matplotlib配置文件:
sudo vim /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc
删除font.family和font.sans-serif两行前的#,并在font.sans-serif后添加中文字体
Microsoft YaHei, ...(其余不变)

第三步:删除~/.cache/matplotlib下文件fontList.py3k.cache

重启python即可


。。。。。。。。。。。。。。。。。以下是自己的经验。。。。。。。。。。。。。。。。。。。。。。

后来发现还是要加上这两行代码才行

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

而我之前只加这两行代码却没用,并且这个里使用的simhei   而不是Microsoft YaHei

有空再搞清楚什么原因吧


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值