findfont: Generic family 'sans-serif' not found because none of the following families were found: WenQuanYi Micro Hei
时间: 2023-12-28 19:24:37 浏览: 343
1238: UserWarning: findfont: Font family [‘sans-serif’] not found. Falling back to DejaVu Sans.
根据提供的引用内容,出现这个错误是因为matplotlib无法找到所需的字体文件。可以通过以下步骤解决这个问题:
1. 确认你的系统中是否安装了WenQuanYi Micro Hei字体。可以通过以下命令在Linux系统中查看已安装的字体:
```shell
fc-list
```
如果没有安装该字体,可以通过以下命令在Linux系统中安装:
```shell
sudo apt-get install fonts-wqy-microhei
```
在Windows系统中,可以通过将C:\Windows\Fonts中的所有字体文件复制到matplotlib字体目录中解决该问题。
2. 确认matplotlib字体目录是否正确。可以通过以下代码获取matplotlib字体目录:
```python
import matplotlib
print(matplotlib.matplotlib_fname())
```
确认输出的路径是否正确,如果不正确,可以通过以下代码设置matplotlib字体目录:
```python
import matplotlib
matplotlib.rcParams['font.family'] = 'sans-serif'
matplotlib.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei']
```
3. 如果以上两个步骤都无法解决问题,可以尝试手动指定字体文件路径。可以通过以下代码手动指定字体文件路径:
```python
import matplotlib
font_path = '/path/to/font.ttf'
prop = matplotlib.font_manager.FontProperties(fname=font_path)
matplotlib.rcParams['font.family'] = prop.get_name()
```
阅读全文