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

即可

完成后可显示如下:

相关推荐
阿维的博客日记24 分钟前
大白话解析快排Python
python
doujiaozh41 分钟前
我在 DOS 6.22 上跑通了 Kimi AI:一场跨越 40 年的硬核接力
python
凛铄linshuo1 小时前
分析业务流程什么时候适合断言?
python·pytest
import_random1 小时前
[python]IDE可以自动检测venv工具创建的虚拟环境.venv吗
python
楠风测开1 小时前
Python学习路线:搭好环境,跑通第一个脚本
python
code2cat1 小时前
【随笔】RAG重排怎样挑证据:先扩大候选,再把相关片段排到前面
人工智能·python·大语言模型·rag
云和数据.ChenGuang2 小时前
python大小整数范围解析
java·开发语言·python
cpolar技术支持2 小时前
端口被谁占了、这台机上开了哪些监听?本机起一个端口占用只读清单,cpolar 给异地同事远程看谁在监听
运维·python·内网穿透·cpolar·端口占用
长坡夜行2 小时前
没有运维的交易系统,是怎么自己活下去的
python
WeiXin_DZbishe2 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计