欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mac下matplotlib中文字体无法显示解决方法

程序员文章站 2022-04-22 07:52:37
...

一、环境描述

  • python 3.7
  • mac 10.14.5

二、问题描述

如下图所示,当使用matplotlib绘制图片的时候,所有的中文字符无法正常显示。
mac下matplotlib中文字体无法显示解决方法

三、解决方法

1、下载字体ttf文件

链接:https://pan.baidu.com/s/1RLVvbIi_NpAiiycBYQRPCQ 密码:n1sv

2、找到配置文件

使用如下代码找到配置文件:

import matplotlib
print (matplotlib.matplotlib_fname()) # 将会获得matplotlib配置文件

我个人的配置如下图:
mac下matplotlib中文字体无法显示解决方法

3、找到ttf字体文件存放目录并添加ttf文件

打开/Users/lina/.matplotlib/,会看到有一个fontList.json文件,打开文件,会看到一系列的字体配置,可以得到字体配置的目录:
mac下matplotlib中文字体无法显示解决方法
打开目录/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/,将刚刚下载的simhei.ttf复制到此文件夹下,并将simhei.ttf添加到fontList.json中,如下图:
mac下matplotlib中文字体无法显示解决方法

4、重新加载新的字体库

使用下面代码加载新的字体库:

from matplotlib.font_manager import _rebuild
_rebuild()

注意,这个只需要执行一次即可。

5、在画图中应用simhei字体

使用如下代码引用simhei字体:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']

其最终效果如下,中文可以正常显示。
mac下matplotlib中文字体无法显示解决方法

参考文章:
https://blog.csdn.net/Lengwenin/article/details/97372563
https://www.cnblogs.com/wanghui-garcia/p/11195925.html