linux matplotlib 显示中文

本文详细介绍了如何在matplotlib中正确显示中文,无论是在Linux、Windows还是Mac系统上。通过使用matplotlib的font_manager方法,可以轻松地设置x轴、y轴刻度、描述信息以及图表标题的中文显示,同时提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matplotlib 显示中文

matplotlib 在linux中默认不显示中文,要让其显示中文,我们可以使用matplotlib 提供的font_manager方法来解决。
1、首先,终端中查询你本机所有可用的中文字体,终端中执行

fc-list :lang=zh # 显示所有中文字体,若要显示所有字体可使用  fc-list 命令

在这里插入图片描述2、使用matplotlib 的font_manager进行设置

x、y轴刻度显示中文,x、y轴描述信息显示中文、图标标题显示中文 例如
在这里插入图片描述

from matplotlib import font_manager
# fname中选择一个你本机查询出来的字体 若没有中文字体则需要你本人手动安装
font = font_manager.FontProperties(fname="/usr/share/fonts/TTF/DroidSansFallbackFull.ttf")

# 设置x、y轴刻度的时候显示中文 在xticks、yticks加上 rotation=45, fontproperties=font 例如
pyplot.xticks(range(0, 26), x_label, rotation=45, fontproperties=font)

# 设置xy轴描述信息的时候显示中文 
pyplot.xlabel("/时间", fontproperties=font)
pyplot.ylabel("/度数", fontproperties=font)
pyplot.title("天气度数统计图表", fontproperties=font)

多段绘图描述信息显示中文,例如
在这里插入图片描述

# 设置prop属性
pyplot.legend(prop=font)

此方法在win、linux、mac都适用,不过我只在linux上实验过,有需要的同学可以试试

<think>嗯,用户问的是如何在Rocky Linux上配置Matplotlib显示中文。我之前处理过类似的问题,可能需要检查几个方面。首先,Matplotlib默认不支持中文字体,所以需要安装中文字体。然后,得确认系统里有没有中文字体,比如Noto Sans CJK或者思源黑体。如果系统没有,可能需要用户手动安装,或者用fc-list看看已安装的字体。 接着,用户可能需要修改Matplotlib的配置文件,指定使用安装的中文字体。记得要清除Matplotlib的缓存,否则可能不会生效。另外,有时候需要更新系统的字体缓存,用sudo fc-cache -fv。如果用户用的是虚拟环境,可能需要重新安装Matplotlib或者确认环境中的路径是否正确。 还有,用户提到的Rocky Linux,是基于RHEL的,可能包管理器是dnf,所以安装字体的话应该是sudo dnf install 字体包名。测试的时候,可能要让用户写个简单的脚本,用matplotlib画个图,看看中文是否显示正常。如果还有问题,可能需要检查路径是否正确,或者是否有多余的缓存。 另外,用户的引用里有提到更新字体缓存[^4],所以这部分需要包含进去。还有,可能需要设置字体为SimHei或者其他已安装的中文字体名。如果用户没有安装任何中文字体,可能需要先安装,比如通过Flatpak或者系统仓库。</think>### 在 Rocky Linux 中配置 Matplotlib 显示中文的分步指南 #### 1. 安装中文字体 首先确保系统已安装中文字体(如 Noto Sans CJK 或思源黑体): ```bash sudo dnf install google-noto-sans-simplified-chinese-fonts ``` #### 2. 验证字体安装 查看系统字体列表: ```bash fc-list :lang=zh ``` 若看到 `Noto Sans CJK SC` 或 `Source Han Sans` 表示安装成功[^4]。 #### 3. 配置 Matplotlib 修改 Matplotlib 配置文件: ```python import matplotlib matplotlib.get_cachedir() # 查看缓存路径 ``` 定位 `matplotlibrc` 文件(通常在 `~/.config/matplotlib/matplotlibrc`),修改以下参数: ```ini font.family : sans-serif font.sans-serif : Noto Sans CJK SC, Source Han Sans SC, SimHei, DejaVu Sans axes.unicode_minus : False # 解决负号显示异常 ``` #### 4. 清除缓存 删除 Matplotlib 缓存目录: ```bash rm -rf ~/.cache/matplotlib ``` #### 5. 测试配置 编写测试脚本 `test_plot.py`: ```python import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Noto Sans CJK SC'] # 显式指定字体 plt.plot([1,2,3], label='测试曲线') plt.xlabel('X轴') plt.title('中文标题') plt.legend() plt.savefig('test.png') ``` #### 6. 虚拟环境注意事项 若使用虚拟环境,建议: ```bash pip install --force-reinstall matplotlib # 重新生成配置文件 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值