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

即可

完成后可显示如下:

相关推荐
掘技术3 分钟前
十个 Python 案例分享
python
ZZHow10242 小时前
02OpenCV基本操作
python·opencv·计算机视觉
计算机学长felix2 小时前
基于Django的“酒店推荐系统”设计与开发(源码+数据库+文档+PPT)
数据库·python·mysql·django·vue
站大爷IP2 小时前
Python随机数函数全解析:5个核心工具的实战指南
python
悟乙己2 小时前
使用 Python 中的强化学习最大化简单 RAG 性能
开发语言·python·agent·rag·n8n
max5006002 小时前
图像处理:实现多图点重叠效果
开发语言·图像处理·人工智能·python·深度学习·音视频
AI原吾2 小时前
玩转物联网只需十行代码,可它为何悄悄停止维护
python·物联网·hbmqtt
云动雨颤3 小时前
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
python·单元测试
SunnyDays10113 小时前
Python 实现 HTML 转 Word 和 PDF
python·html转word·html转pdf·html转docx·html转doc
跟橙姐学代码4 小时前
Python异常处理:告别程序崩溃,让代码更优雅!
前端·python·ipython