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

即可

完成后可显示如下:

相关推荐
aloha_7892 小时前
联易融测开面试准备
java·python·面试·单元测试
学历真的很重要3 小时前
LangChain V1.0 Short-term Memory 详细指南
后端·python·语言模型·面试·langchain·agent·ai编程
咚咚王者3 小时前
人工智能之数据分析 Matplotlib:第四章 图形类型
人工智能·数据分析·matplotlib
LitchiCheng4 小时前
Mujoco 基础:获取模型中所有 body 的 name, id 以及位姿
人工智能·python
老鱼说AI4 小时前
算法基础教学第一步:数据结构
数据结构·python·算法
2301_795167204 小时前
Python 高手编程系列八:缓存
开发语言·python·缓存
闲人编程4 小时前
Django测试框架深度使用:Factory Boy与Fixture对比
数据库·python·django·sqlite·钩子·fixture·codecapsule
梅花144 小时前
基于Django房屋租赁系统
后端·python·django·bootstrap·django项目·django网站
今天没有盐4 小时前
Python数据分析实战:从超市销售到教学评估
python·pycharm·编程语言
white-persist6 小时前
【攻防世界】reverse | IgniteMe 详细题解 WP
c语言·汇编·数据结构·c++·python·算法·网络安全