解决mac下jupyter中matplotlib中文无法显示的问题
换了笔记本之后在jupyter中用matplotlib画图一直无法愉快的显示中文,在网上苦苦查阅了许久,网上主流的方法有两种:一种是下载SimHei,将字体包放到matlotlib相关文件夹下并修改配置文件,另一种是每次画图都调用函数指定中文字体(在此不再对此两种方法的实体实现方式进行赘述)。第二种稍显笨重的方法自然无法让人心悦诚服地使用,而第一种方法我却屡试皆爽,不禁感到疑惑,别人是如何用这种方法操作成功的?
直到看到了某位老哥的一篇博客,我才豁然开朗:既然SimHei字体在Mac下无法奏效,那我为何不选用一种Mac支持的中文字体,为何非要费这么大功夫跟SimHei置气?于是我选用了另一种简单有效令人身心愉悦的方法——换字体。我放弃了使用SimHei,选择Arial Unicode MS作为matplotlib的中文字体。
一次性方法:
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
永久方法:
与主流方法一的原理相同:
- 找到字体路径
import matplotlib
print(matplotlib.matplotlib_fname())
我的路径:/Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
- matplotlibrc正是需要修改的文件
cd /Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data
vim matplotlibrc
找到font.family与font.sans-serif(默认被注释掉了),修改为
font.family: sans-serif
font.sans-serif: Arial Unicode MS, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
再找到后面的axes.unicode_minus,将True改为False(此项False,则matplotlib不会用中文字体显示负号“-”)
axes.unicode_minus: False
- 接下来,删除缓存文件:
rm -rf ~/.matplotlib/*
- 最后,重启jupyter内核,即可享用中文matloplib服务
显示效果如下图:
文章图片
image.png
给自己看的小记
陷入某一死胡同中时,转换思维未尝不是一种快速解决问题的良方。
【解决mac下jupyter中matplotlib中文无法显示的问题】PS:有帮助记得点个赞哦,谢谢(〃'▽'〃)
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 开学第一天(下)
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 【故障公告】周五下午的一次突发故障
- Mac安装Chromedriver
- 生活随笔|好天气下的意外之喜
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- 汇讲-勇于突破
- Android中的AES加密-下