解决Mac系统下Matplotlib中SimHei中文字体缺失报错的问题

目录

1. 确认字体缺失

2. 安装中文字体

3.配置Matplotlib使用中文字体

4. 清除字体缓存

5. 测试绘图

注意:以上步骤适用于Mac系统下的Matplotlib绘图。


在Mac系统下使用Matplotlib进行绘图时,有时会遇到中文字体缺失的问题,特别是当使用SimHei字体时,会弹出警告:

findfont: Font family 'SimHei' not found。

这通常是因为系统中没有安装相应的中文字体。为了解决这个问题,可以按照以下步骤进行操作:

1. 确认字体缺失

首先,检查代码中是否使用了SimHei字体。可以在Matplotlib的rcParams中设置字体,或者在代码中使用特定的字体名称。如果报错信息中提到了SimHei字体,那么这就是问题所在。

2. 安装中文字体

为了解决字体缺失的问题,需要安装中文字体。首先需要下载SimHei字体的文件(通常是.ttf文件),下载链接如下:

https://us-logger1.oss-cn-beijing.aliyuncs.com/SimHei.ttf

然后通过命令安装到系统中:打开终端应用程序,使用cd命令切换到字体文件所在的文件夹,继续运行命令sudo cp SimHei.ttf /Library/Fonts/来安装字体。

例如我将SimHei.ttf文件下载到了下载文件夹。

使用cd ~/Downloads进入到下载文件夹,然后使用命令sudo cp SimHei.ttf /Library/Fonts/来安装字体,输入密码后,字体将被安装到系统中。

cd ~/Downloads # 进入下载文件夹
sudo cp SimHei.ttf /Library/Fonts/ # 安装字体

3.配置Matplotlib使用中文字体

安装了中文字体后,需要配置Matplotlib使用该字体。可以在Matplotlib的rcParams中设置字体,或者在代码中使用特定的字体名称。例如,可以在代码的开头添加以下行来设置字体。

import matplotlib as mpl

mpl.rcParams['font.family'] =['SimHei']  # 设置默认字体为SimHei

mpl.rcParams['axes.unicode_minus'] = False # 解决负号显示问题

4. 清除字体缓存

更改了系统字体或修改了rcParams设置,需要清除matplotlib的字体缓存。这个缓存文件通常位于用户的主目录下的.matplotlib/fontList.json。可以使用如下命令rm -rf /Users/starry/.matplotlib删除整个文件夹。

rm -rf /Users/starry/.matplotlib # 注意将starry替换为自己电脑的路径

删除这个文件后,重启Python或重新运行脚本,matplotlib将会重新构建字体列表。这样设置后,Matplotlib将使用SimHei字体进行绘图。

5. 测试绘图

完成以上步骤后,尝试重新运行代码进行绘图。现在应该不再出现中文字体缺失的报错信息,并且绘图中应该能够正常显示中文字体。

注意:以上步骤适用于Mac系统下的Matplotlib绘图。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值