解决在Mac上的Python3绘图模块Matplotlib中文方框乱码问题。
方法简介
本方法不需要修改参数,直接在代码中即可完成。
-
查找Mac中支持中文的字体
from matplotlib.font_manager import FontManager fm = FontManager() mat_fonts = set(f.name for f in fm.ttflist) print(mat_fonts)
-
运行以上代码,可以发现Mac上有很多字体可供使用,我们找到Arial Unicode MS,设置为Matplotlib的默认字体即可。我们更改Matplotlib的默认字体:
import matplotlib.pyplot as plt # 支持中文 plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
通过上面几行代码,不需要修改任何配置文件修改,即可正常显示中文,亲测有效。
注意
- 网上有很多方法,常见的是下载ttf文件,然后是修改配置重启等一通操作,在我的电脑上没有效果;
- 有的文章里写到替换字体用的不是Arial Unicode MS,而是Arial Black,但在我的电脑上却没有效果,但是至少这种方法是可以成功的,可以多尝试几种字体。