在使用Matplotlib进行数据可视化时,经常会遇到中文显示为方块或者无法正常显示的问题。这个问题的根本原因是Matplotlib默认不支持中文字体。本文将详细介绍如何在不同操作系统下解决这个问题。
常见错误信息 当遇到中文显示问题时,通常会看到类似以下的错误信息:
findfont: Generic family 'sans-serif' not found because none of the following families were found: SimHei
1.下载SimHei字体文件 这个可以私信我取字体文件:simhei.ttf 2.配置到matplotlib 启动Python
import matplotlib
print(matplotlib.matplotlib_fname())
这会打印出matplotlib的配置文件路径,字体目录通常在同一目录树下的 fonts/ttf 文件夹中
3. 把下载的字体文件放到matplotlib包里 重新启动你的Python环境,字体应该就可以使用了。如果还是不行,可以检查是否有权限问题:
# 检查字体文件权限
ls -l /usr/share/fonts/chinese/SimHei.ttf
# 如果需要,修改权限
sudo chmod 644 /usr/share/fonts/chinese/SimHei.ttf
这样用matplotlib就可以绘制出带中文字体了