解决mac下jupyter中matplotlib中文无法显示的问题

换了笔记本之后在jupyter中用matplotlib画图一直无法愉快的显示中文,在网上苦苦查阅了许久,网上主流的方法有两种:一种是下载SimHei,将字体包放到matlotlib相关文件夹下并修改配置文件,另一种是每次画图都调用函数指定中文字体(在此不再对此两种方法的实体实现方式进行赘述)。第二种稍显笨重的方法自然无法让人心悦诚服地使用,而第一种方法我却屡试皆爽,不禁感到疑惑,别人是如何用这种方法操作成功的?
直到看到了某位老哥的一篇博客,我才豁然开朗:既然SimHei字体在Mac下无法奏效,那我为何不选用一种Mac支持的中文字体,为何非要费这么大功夫跟SimHei置气?于是我选用了另一种简单有效令人身心愉悦的方法——换字体。我放弃了使用SimHei,选择Arial Unicode MS作为matplotlib的中文字体。
一次性方法:

plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']

永久方法:
与主流方法一的原理相同:
  1. 找到字体路径
import matplotlib print(matplotlib.matplotlib_fname())

我的路径:/Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
  1. 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

  1. 接下来,删除缓存文件:
rm -rf ~/.matplotlib/*

  1. 最后,重启jupyter内核,即可享用中文matloplib服务
    显示效果如下图:

    解决mac下jupyter中matplotlib中文无法显示的问题
    文章图片
    image.png
各位看官请笑纳=w=
给自己看的小记
陷入某一死胡同中时,转换思维未尝不是一种快速解决问题的良方。
【解决mac下jupyter中matplotlib中文无法显示的问题】PS:有帮助记得点个赞哦,谢谢(〃'▽'〃)

    推荐阅读