一、问题解析
问题说明:电脑上安装了Python3.8,最近遇到绘图,无法将中文标签显示,显示为空白方框。

原因:matplotlib默认的字体为英文字体,导致许多unicode编码的语言文字都无法书写。
python中没有自带的中文字体,我们可以通过修改自己的配置实现中文显示。
二、前期准备
1.首先先了解一下Python常用中文字体对应名称:
| 名称 | 字体 |
|---|---|
| 黑体 | SimHei |
| 微软雅黑 | Microsoft YaHei |
| 微软正黑体 | Microsoft JhengHei |
2.首先查看自己的字体文件的位置,一般都是在/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/目录下。
可以使用命令进行查看:
import matplotlib.pyplot as plt
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字体名以及对应的字体文件名
print(font.name, '-', font.fname)
运行程序,可以看到两个路径:
- Python安装的时候,自带的字体,默认没有中文字体,我们针对此路径进行字体补充;
- 最后是MAC电脑中的字体,代码中可以通过指定字体的方式,完成中文展示(另外注意,此路径有权限设置,如作修改,需要输入MAC自己的密码。进行赋权)。

三、具体操作
我们针对第一个地址进行修改,进入对应路径进行修改配置。一共分为三步:
步骤1:下载对应中文字体,放置在字体文件夹里;
步骤2:修改对应配置文件matplotlibrc,为matplotlib的配置文件;
步骤3:删除系统缓存,重新开启程序,运行测试。
步骤1:下载字体Simhei.ttf
(网上会有很多资源,直接下载即可,先是资源已存在,我就不上传了。)

本文介绍了如何解决在Python的Matplotlib库中绘图时中文标签显示为空白方框的故障。问题源于matplotlib默认不支持中文字体。解决方案包括:1) 查找字体文件位置;2) 修改matplotlibrc配置文件,添加中文字体SimHei;3) 删除缓存。通过这些步骤,可以成功在图表中显示中文。此外,还提供了通过代码直接指定系统字体的方法作为备选方案。
最低0.47元/天 解锁文章
745

被折叠的 条评论
为什么被折叠?



