python里matplotlib显示中文
时间: 2025-04-21 10:41:42 浏览: 24
### 配置 Matplotlib 正确显示中文字符
为了使 Matplotlib 能够正确显示中文字符,需要确保选择了支持中文的字体并进行了适当配置。一种方法是通过 `FontProperties` 来指定特定的中文字体文件路径。
下面是一个具体的例子来展示如何实现这一点:
```python
from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
import numpy as np
# 定义字体属性对象,指向本地安装的一个中文字体文件
font = FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
# 创建数据集用于绘制图形
x = np.linspace(0, 10, 100)
y = x ** 2 - 2 * x
plt.plot(x, y, label=r'$y=x^2-2x$', linewidth=2)
# 使用设定好的字体属性设置标签和标题
plt.xlabel('时间 (秒)', fontproperties=font)
plt.ylabel('距离 (米)', fontproperties=font)
plt.title('抛物线运动轨迹', fontproperties=font)
# 添加图例也应用相同的字体样式
plt.legend(prop=font)
# 展示图像
plt.show()
```
上述代码片段展示了怎样加载一个名为 simhei 的黑体字型,并将其应用于图表中的各个文本元素上[^3]。需要注意的是,在实际操作时应根据个人计算机上的具体位置调整字体文件路径。
另外,如果遇到找不到合适字体的情况,则可以考虑下载一些开源免费的支持多国语言(含汉字)的 TTF 字体文件到项目目录下再引用;或者利用操作系统自带的一些常用字体如 Microsoft YaHei 或者 STXihei 等。
#### 解决方案总结
- 导入必要的模块;
- 利用 `FontProperties()` 函数创建字体管理器实例,并传入目标字体文件绝对路径作为参数;
- 将此字体管理器实例传递给所有涉及文本渲染的地方,比如轴名、标题等;
- 对于图例部分同样要记得设置对应的字体风格以保持一致性。
阅读全文
相关推荐

















