解决matplotlib绘图无法显示中文

问题描述

在使用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就可以绘制出带中文字体了

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐