1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 解决mac下jupyter中matplotlib中文无法显示的问题

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

时间:2019-10-15 11:03:43

相关推荐

解决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 matplotlibprint(matplotlib.matplotlib_fname())

我的路径:/Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

2. matplotlibrc正是需要修改的文件

cd /Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-datavim matplotlibrc

找到font.family与font.sans-serif(默认被注释掉了),修改为

font.family: sans-seriffont.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服务😊

显示效果如下图:

各位看官请笑纳=w=

给自己看的小记

陷入某一死胡同中时,转换思维未尝不是一种快速解决问题的良方。

PS:有帮助记得点个赞哦,谢谢(〃‘▽’〃)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。