解决 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()

即可

完成后可显示如下:

相关推荐
老胖闲聊6 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1186 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
曹勖之6 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
lyaihao7 小时前
使用python实现奔跑的线条效果
python·绘图
ai大师8 小时前
(附代码及图示)Multi-Query 多查询策略详解
python·langchain·中转api·apikey·中转apikey·免费apikey·claude4
小小爬虾8 小时前
关于datetime获取时间的问题
python
蓝婷儿9 小时前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
chao_7899 小时前
链表题解——两两交换链表中的节点【LeetCode】
数据结构·python·leetcode·链表
大霞上仙10 小时前
nonlocal 与global关键字
开发语言·python
Mark_Aussie11 小时前
Flask-SQLAlchemy使用小结
python·flask