kaggle的plt不显示中文
时间: 2025-07-05 10:47:36 浏览: 15
### 解决Kaggle环境中Matplotlib显示中文的方法
在Kaggle环境中使用`matplotlib.pyplot`(简称`plt`)绘制图表时,如果需要显示中文字符,则必须配置合适的中文字体。以下是具体实现方法:
#### 导入必要的库
```python
import matplotlib.pyplot as plt
from matplotlib import font_manager
```
#### 查找可用字体列表
为了确认当前环境下有哪些字体可以被利用来展示中文,可以通过如下方式获取系统内已安装的所有TrueType字体名称:
```python
available_fonts = sorted([f.name for f in font_manager.fontManager.ttflist])
print(available_fonts)
```
这一步骤有助于了解哪些字体可能适用于中文显示[^2]。
#### 设置特定的中文字体文件路径
对于Kaggle笔记本而言,默认情况下并不自带适合渲染汉字的字体包。因此,建议上传一个包含合适中文字体(如SimHei黑体或STFANGSO方正兰亭细黑等)的`.ttf`文件至工作区,并通过指定该字体文件的位置来进行全局设定:
```python
# 假设已经上传了一个名为'SimHei.ttf'的字体文件到 '/kaggle/input/' 文件夹下
zh_font_path = "/kaggle/input/SimHei.ttf"
zh_font_prop = font_manager.FontProperties(fname=zh_font_path)
# 应用于所有文本元素
plt.rcParams['font.family'] = zh_font_prop.get_name()
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号
```
上述操作确保了整个绘图过程中的标签、标题以及其他文本都能正确呈现为所选的中文字体[^4]。
#### 验证设置效果
最后可通过简单的绘图命令测试是否能够正常显示出中文字符串:
```python
fig, ax = plt.subplots(figsize=(8, 6))
ax.set_title('这是一个带有中文标题的图形', fontsize=16)
ax.plot([0, 1], [0, 1], label='线')
ax.legend(['线条'])
plt.show()
```
阅读全文
相关推荐


















