Mac解决错误处理:findfont: Font family ‘SimHei‘ not found.

Mac错误处理:findfont: Font family 'SimHei' not found.

目的:设置中文字体 解决:安装Microsoft字体 效果:不需要plt.rcParams['font.sans-serif'] =

'SimHei'\]就可以自动显示中文,至此中文显示的问题已经解决。

1. 查看matplotlib字体路径

python 复制代码
import matplotlib    
print(matplotlib.matplotlib_fname())  #matplotlib字体路径【安装】
print(matplotlib.get_cachedir())  #清理matplotlib缓冲目录
  • /Users/wt/miniconda3/envs/llm/lib/python3.11/site-packages/matplotlib/mpl-data/matplotlibrc
  • /Users/wt/.matplotlib

2.下载SimHei.ttf字体

python 复制代码
wget https://zihao-openmmlab.obs.cn-east-3.myhuaweicloud.com/20220716-mmclassification/dataset/SimHei.ttf

3. 将下载好的SimHei.ttf字体移动到第一步查询到的字体目录./fonts/ttf/下,清空缓存

python 复制代码
# 1.下载好的SimHei.ttf字体并移动到第一步查询到的字体目录./fonts/ttf/下 
cp SimHei.ttf /Users/wt/miniconda3/envs/llm/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf

# 2.清理matplotlib缓冲目录【第一步查出的缓存目录】  
rm -rf /Users/wt/.matplotlib

4.修改原始文件【第一步查出的字体路径】

powershell 复制代码
 vi /Users/wt/miniconda3/envs/llm/lib/python3.11/site-packages/matplotlib/mpl-data/matplotlibrc

通过:/内容 查找指定内容

如:/font.family, :/font.sans-serif,😕 axes.unicode_minus.

提示:按n键,可以继续查找下一个

powershell 复制代码
#去掉前面的#
font.family:  sans-serif
#去掉前面的#,手动加SimHei
font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#去掉前面的#,把True改为False
axes.unicode_minus: False  # use Unicode for the minus symbol rather than hyphen.  See

不需要plt.rcParams['font.sans-serif'] = ['SimHei']就可以自动显示中文,至此中文显示的问题已经解决。

5.测试绘图代码

python 复制代码
import matplotlib.pyplot as plt
x = list(range(5))
y = list(range(1,10,2))
plt.plot(x,y)
plt.xlabel('x轴数据')
plt.ylabel('y轴数据')
plt.show()

参考:

https://blog.csdn.net/u012744245/article/details/119735461【强烈推荐】

Linux解决

powershell 复制代码
cd /usr/share/fonts
# copy microsoft fonts to /usr/share/fonts
mkfontscale && mkfontdir && fc-cache -fv
# validation
fc-list : family | grep Sim
# remove matplot font cache
rm -rf ~/.cache/matplotlib
相关推荐
千千寰宇2 分钟前
[Java/Python] Java 基于命令行调用 Python
python·java se-jdk/jvm
yvestine1 小时前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
zzc9211 小时前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
编程有点难1 小时前
Python训练打卡Day43
开发语言·python·深度学习
2301_805054561 小时前
Python训练营打卡Day48(2025.6.8)
pytorch·python·深度学习
LjQ20401 小时前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
哆啦A梦的口袋呀2 小时前
基于Python学习《Head First设计模式》第九章 迭代器和组合模式
python·学习·设计模式
云攀登者-望正茂2 小时前
如何在mac上安装podman
macos·podman
sponge'2 小时前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习
databook3 小时前
概率图模型:机器学习的结构化概率之道
python·机器学习·scikit-learn