在 Linux 系统中,如果你在使用 Matplotlib 时遇到 `findfont: Generic family 'sans-serif' not found because none of the following families were found: SimHei` 的错误,说明系统中没有找到指定的字体 SimHei(黑体)。你可以通过以下步骤来解决这个问题:
1. **安装 SimHei 字体**:
- 首先,你需要安装 SimHei 字体。你可以从网上下载黑体字体文件(通常是 `.ttf` 格式),然后将其放置到系统的字体目录中。例如,你可以将 `SimHei.ttf` 文件放在 `/usr/share/fonts` 目录下(需要管理员权限)。
`SimHei.ttf`文件已经下载了,可以直接使用:
2. **更新字体缓存**:
-在将字体文件复制到 /usr/share/fonts 目录后,需要更新字体缓存。可以使用以下命令:
sudo fc-cache -fv
2.1使用 sudo fc-cache 命令时可能需要安装 fontconfig 软件包
在大多数 Linux 发行版中,fontconfig 是用来管理和配置字体的工具。你可以根据你的发行版使用以下命令安装它:
-对于 Ubuntu 或 Debian:
sudo apt update sudo apt install fontconfig
-对于 CentOS
sudo yum install fontconfig
3. **检查字体是否安装成功**:
- 你可以使用以下命令检查字体是否安装成功:
fc-list | grep SimHei
- 如果安装成功,会显示 SimHei 字体的路径。
4. **重启 Python 环境**:
- 确保你重启了 Python 环境,以便让 Matplotlib 能够重新加载字体信息。
5. **修改代码**:
- 如果以上步骤都完成了,再次运行你的代码。确保你的代码中仍然包含以下字体设置:
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定黑体 plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
完成上述步骤后,问题应该得到解决,你应该能够正常使用黑体字体。