在 Ubuntu 使用 fonts-noto-cjk 设置 Matplotlib 支持中文的完整教程
在使用 Python 的可视化库如 Matplotlib 绘图时,如果数据包含中文,经常会遇到中文显示为乱码或不显示的情况。这篇文章将详细介绍如何在 Ubuntu 系统中安装 fonts-noto-cjk
中文字体,并在 Matplotlib 中正确显示中文。
1. 为什么需要配置中文字体?
Matplotlib 默认使用的字体通常不支持中文,而中文内容会显示为方块或乱码。通过安装并配置支持中文的字体,如 Google 的开源字体 Noto Sans CJK,我们可以轻松解决这个问题。
2. 安装 fonts-noto-cjk
fonts-noto-cjk
是 Google 提供的高质量开源字体,支持中文、日文和韩文字符。在 Ubuntu 中安装非常简单:
安装命令:
打开终端,输入以下命令:
sudo apt update
sudo apt install fonts-noto-cjk
检查字体安装是否成功
安装完成后,使用以下命令检查字体是否成功安装:
fc-list | grep "Noto Sans CJK"
输出中应包含类似以下内容:
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc: Noto Sans CJK SC
如果能看到上述结果,说明字体安装成功。
3. 配置 Matplotlib 支持中文
3.1 手动加载字体
通过 Matplotlib 的 font_manager.FontProperties
指定字体路径:
from matplotlib import font_manager
import matplotlib.pyplot as plt
# 设置字体路径
font_path = '/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc' # 确保路径正确
font_prop = font_manager.FontProperties(fname=font_path)
# 测试中文显示
plt.title