Cloud Studio Matplotlib 中文显示问题

这篇解决Matplotlib中文显示乱码或找不到字体的问题,提供安装中文字体和配置字体使用的具体步骤,确保图表正常显示中文。 安装中文字体:将.ttf字体文件放入Matplotlib字体目录并验证。 配置使用字体:通过临时或永久设置font.family与unicode_minus参数解决乱码。

相关产品
Cloud Studio(云端 IDE) 产品页,含版本规格、价格与购买入口。

注意:问题

注意:常见表现:中文变成方块/乱码,或提示“找不到字体”,以及负号 – 显示异常。

一、安装中文字体

注意:适用于

注意:提示找不到字体

当 Matplotlib 提示缺少字体时,需要把中文字体文件放入它的字体目录。

二、1)准备字体文件

建议使用常见 TrueType 字体(.ttf):

·Microsoft-YaHei.ttf

·SimHei.ttf

·SimSun.ttf

把字体文件放到工作空间(例如放在 /workspace/ 下)。

三、2)安装字体到 Matplotlib 字体库

1. 首先进入 Matplotlib 的字体目录,在终端中执行:

cd /root/.pyenv/versions/3.11.1/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf

注意:这里修改的 3.11.1 Python 版本,如需修改其他版本的需根据类似目录找到字体路径

2. 将工作空间中的字体文件移动到该目录,使用 mv 命令:

mv /workspace/字体文件名.ttf .

例如移动黑体文件:

mv /workspace/SimHei.ttf .

四、3)验证字体安装

在终端中执行 ll 命令,查看字体文件是否已成功移动到字体目录中,确认文件名正确显示。

五、让 Matplotlib 使用中文字体

注意:适用于

注意:字体已存在但仍乱码/方块

通常是默认字体没有包含中文字体,按下面两种方式配置即可。

六、方案 1:临时配置(只对当前代码生效)

在代码开头加入:

import matplotlib.pyplot as plt# 让 Matplotlib 优先使用中文字体(按可用性自动选择)plt.rcParams["font.family"] = ["SimHei", "SimSun", "Microsoft YaHei", "Microsoft-YaHei"]# 负号显示异常时打开plt.rcParams["axes.unicode_minus"] = False

七、方案 2:永久配置(修改 matplotlibrc)

1. 找到配置文件路径:

import matplotlibprint(matplotlib.matplotlib_fname())

2. 打开 matplotlibrc,设置字体与负号:

font.family : sans-seriffont.sans-serif : SimHei, SimSun, Microsoft YaHei, Microsoft-YaHeiaxes.unicode_minus : False

3. 保存后 重启 Jupyter 内核 使配置生效。

赞 (0)
上一篇 4天前
下一篇 4天前