解决 matplotlib 的中文乱码问题(macOS)

环境

macOS: 12.0.1
matplotlib: 3.4.3

步骤

好些文章都说的添加 rcParams['font.sans-serif']=['SimHei'] 且中文字符前加 u 的方法可以解决,但我试了不行。我的系统里就没有 SimHei 这种字体,只能先安装字体。

下载及安装字体

安装字体的教程很多,我主要参考的是下面这个:

matplotlib中文乱码的两种解决方案

下载字体地址我用的是:

https://www.fontpalace.com/fo...

重新加载字体

如果你用 _rebuild() 也碰到如下错误,可以用后面的指令直接清空 matplotlib cache 目录,否则就只能重启环境。

ImportError: cannot import name '_rebuild' from 'matplotlib.font_manager' (/usr/local/lib/python3.8/site-packages/matplotlib/font_manager.py)

清空 cache 目录的指令:

import shutil
import matplotlib

shutil.rmtree(matplotlib.get_cachedir())

最后

搞定。安装了字体后,在 matplotlib 里使用的中文字符串,前面不需要再加 u ,也不需要再在代码里定义字体。

你可能感兴趣的:(解决 matplotlib 的中文乱码问题(macOS))