用 matplotlib 画图无法显示中文问题

本文介绍如何在使用pandas和matplotlib绘图时解决中文乱码问题,通过下载并安装SimHei字体,修改matplotlibrc配置文件,指定中文字体,重启jupyter notebook,实现中文正常显示。

 

用pandas 或者 matplotlib 画图时,遇到中文时会显示出乱码

分析其原因,matplotlib 初始化时首先要加载配置文件,配置文件的名字叫 matplotlibrc,字体设置也在这个配置文件中,之所有无法正常显示中文是因为 matplotlib 默认不支持中文字体,解决的办法是我们需要在配置文件中指定一个 matplotlib 可用的中文字体。

第一步:下载中文字体

在网站下载 SimHei 字体 http://www.fontpalace.com/font-details/SimHei/,该字体即有Windows字体也有Mac字体。下载后双击打开安装字体

第二步:找到配置文件 matplotlibrc

找到 matplotlib 加载的配置文件路径可以通过如下方式:
[Python] 纯文本查看 复制代码
?
1
2
3
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/Users/<USERNAME>/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'

 

编辑 matplotlibrc 文件,找到 font.family 和 font.sans-serif 这两行,去掉注释,并添加 SimHei 字体到 font.sans-serif 中,如下:
[Bash shell] 纯文本查看 复制代码
?
1
2
font.family         : sans-serif
font.sans-serif     : SimHei, DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

第三步:删除缓冲目录

[Bash shell] 纯文本查看 复制代码
?
1
rm -rf  ~/.matplotlib


第四步:重启jupyter notebook

如果你是在 ipython 环境下画图就重启 ipython,如果时 juypter notebook 画图 就重新 juypter notebook。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值