刚配置Jupyter环境的绘图会存在不显示中文、中文显示乱码问题,花了一整个晚上搜寻了网上各种解决办法并疯狂尝试最后侥幸成功,办法总结下来基本分为两种:
1.主流的解决办法是下载一个SimHei.ttf字体文件并配置进去。
主要参考原文链接:
2.小众的解决办法是通过加几行代码来解决的。
主要参考原文链接:
Mac版Jupyter中 seaborn中文无法正常显示解决办法_seaborn无法显示中文_sihiaugiok的博客-CSDN博客
由于我是小白,两种方法都尝试了,中间也遇到了很多问题,但最终我用主流的下载字体并添加配置的办法来解决了:
1、下载SimHei.ttf字体文件
首先,我们需要去GitHub上下载一个SimHei字体,链接为: https://github.com/dolbydu/font
在其unicode文件夹下找到SimHei.ttf文件
2、在Jupyter中查看字体文件路径:(这一步我直接报错zsh:command not found: import并且尝试了多种办法,包括但不限于重装matplotlib库,最终都无法解决,于是我选择直接自己找路径结果成功了。)
查看字体路径:
import matplotlib
matplotlib.matplotlib_fname()
获得目录后,
打开Finder,Shift+Command+g, 然后输入路径:
ps:我在输入import matplotlib后报错zsh:command not found: import,在网上苦寻许久找不到解决办法,于是我跳过第二步的通过代码获得目录,直接打开Finder,用Shift+Command+g, 输入路径:/Library/Fonts/ 进入到Fonts文件夹(Fonts文件夹好像都在资源库里面。)
找到fonts文件夹,将下载好的SimHei.ttf文件拖入到fonts/ttf文件内。
看到geoplotlib想起来当时pip3 install geoplotlib也卡了好久,最后发现要先pip3 install setuptools==57.5.0(降版本)才能解决
3、修改matplotlib文件
用command+空格打开聚焦搜索,搜索并用文本编辑器打开matplotlibrc文件
修改以下内容:
用command+F搜索关键词
font.family 去掉前面的 # (搜出来有两个结果别改错了,我一开始没注意直接gg)
font.sans-serif 去掉前面的 #,并添加 SimHei,
axes.unicode_minus 去掉前面的 #,并修改 True 为 False
修改后command+s保存退出。
4、清除matplotlib缓存
在jupyter中输入下面代码查看缓存路径:
import matplotlib
matplotlib.get_cachedir()
显示缓存路径:/Users/用户名/.matplotlib
(ps:这个地方的import matplotlib我还是报错zsh: command not found: import并且解决不了)
在jupyter输入下面代码删除缓存:
rm -rf /Users/用户名/.matplotlib
(ps:这里我没报错,不知道是运行成功了还是因为我的matplotlib是刚下的,没有缓存?即使报错也没关系?)
注:步骤完成后有的还会报错,是因为Mac上配置Jupyter虚拟环境时安装了ipykernel,只需要在Jupyter将 Kernel做Restart处理就可以了。(ps:这里我不知道怎么重启Kernel,于是我直接简单粗暴地重启jupyter,然后就成功了哈哈哈)