解决 matplotlib 中文字体无法显示问题

问题表现

使用 matplotlib 呈现出图片中文为方框□,表现如下所示

查找了以下解法:

python 复制代码
from matplotlib.font_manager import FontProperties
# 指定字体路径
font_properties = FontProperties(fname="./SimHei.ttf")
plt.rcParams['font.family'] = font_properties.get_name()

但仍然没起作用,参考链接:A Guide on Using Unicode Characters in Matplotlib

解决方法

在 matplotlib 的字体目录下添加 SimHei.ttf 文件

python 复制代码
[In]: matplotlib.get_data_path()
[Out]: xxx/anaconda3/envs/nl2python/lib/python3.10/site-packages/matplotlib/mpl-data

提前准备好 SimHei.ttf(很多地方可以下载)

bash 复制代码
mv SimHei.ttf xxx/anaconda3/envs/nl2python/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf/

同时在代码中指定

python 复制代码
from matplotlib.font_manager import FontProperties
# 指定字体路径
font_properties = FontProperties(fname="./SimHei.ttf")
plt.rcParams['font.family'] = font_properties.get_name()

即可

完成后可显示如下:

相关推荐
hbwhmama21 分钟前
python高级变量XIII
python
费弗里1 小时前
Python全栈应用开发利器Dash 3.x新版本介绍(3)
python·dash
dme.1 小时前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
加油吧zkf1 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
t_hj1 小时前
python规划
python
czhc11400756632 小时前
Linux 76 rsync
linux·运维·python
悠悠小茉莉2 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
m0_625686552 小时前
day53
python
Real_man3 小时前
告别 requirements.txt,拥抱 pyproject.toml和uv的现代Python工作流
python
站大爷IP3 小时前
Python文件操作的"保险箱":with语句深度实战指南
python