matplotlib ubuntu字体
时间: 2025-07-09 11:36:05 浏览: 12
### 如何在 Ubuntu 系统中设置 Matplotlib 字体
为了使 Matplotlib 能够在 Ubuntu 上正确显示中文字符,需要完成以下几个方面的操作:
#### 安装必要的中文字体
如果没有合适的中文字体,Matplotlib 将无法渲染中文。可以通过以下命令安装常用的中文字体:
```bash
sudo apt-get update
sudo apt-get install fonts-wqy-zenhei fonts-wqy-microhei
```
这一步会安装 `WenQuanYi Zen Hei` 和 `WenQuanYi Micro Hei` 两种字体[^2]。
#### 清除 Matplotlib 的缓存
如果之前已经尝试过配置但未成功,可能是由于 Matplotlib 缓存了旧的字体配置。可以清除其缓存目录来解决问题:
```bash
rm -rf ~/.cache/matplotlib/
```
此步骤非常重要,因为即使新字体已安装,缓存中的旧数据可能会干扰新的配置生效。
#### 配置 Matplotlib 使用中文字体
通过 Python 代码指定 Matplotlib 使用的字体。以下是常见的方法之一:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 或者 'DengXian' 等其他可用字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号 '-' 显示异常的问题
```
上述代码设置了无衬线字体为黑体 (`SimHei`) 并启用了对 Unicode 负号的支持[^3]。
另一种方式是利用 `FontProperties` 类手动加载特定字体文件:
```python
from matplotlib.font_manager import FontProperties
font_path = '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc'
font = FontProperties(fname=font_path, size=14)
plt.title('测试标题', fontproperties=font)
plt.xlabel('横坐标', fontproperties=font)
plt.ylabel('纵坐标', fontproperties=font)
```
这种方法允许更灵活地选择具体的字体文件位置[^5]。
#### 测试配置效果
创建一个简单的绘图脚本来验证配置是否有效:
```python
import matplotlib.pyplot as plt
plt.figure(figsize=(6, 4))
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('这是一个测试标题')
plt.xlabel('时间 (秒)')
plt.ylabel('距离 (米)')
plt.show()
```
---
### 注意事项
1. 如果仍然遇到问题,请确认所使用的字体名称是否正确以及该字体是否存在于系统中。
2. 对于 WSL2 用户,在 Jupyter Notebook 中运行时需额外注意环境变量和字体路径的一致性[^4]。
阅读全文
相关推荐


















