matplotlib.pyplot字体分别设置
时间: 2025-01-06 07:36:44 浏览: 23
### 如何在 Matplotlib Pyplot 中分别为不同元素设置字体
当遇到图表中的文字显示为乱码的情况时,可以通过调整各个文本元素的字体属性来解决问题[^1]。
#### 更改标题字体
为了单独修改标题使用的字体,可以在 `plt.title()` 函数调用中指定 `fontdict` 参数:
```python
import matplotlib.pyplot as plt
# 设置整个图形的默认参数
plt.rcParams['font.sans-serif']=['SimHei'] # 使用黑体字作为无衬线字体
# 绘制简单的折线图
x = [0, 1, 2, 3, 4]
y = [0, 2, 1, 3, 4]
plt.plot(x, y)
# 应用带有自定义字体配置的标题
plt.title('我的折线图', fontdict={'family': 'FangSong', 'size': 20}) # 宋体大小设为20pt
```
#### 修改坐标轴标签字体
同样地,对于 X 轴和 Y 轴上的标签也可以通过传递类似的 `fontdict` 字典给对应的函数来进行个性化设置:
```python
# 自定义X轴标签字体样式
plt.xlabel('时间 (小时)', fontdict={'family': 'KaiTi', 'color': 'darkred', 'weight': 'normal', 'size': 16})
# 自定义Y轴标签字体样式
plt.ylabel('温度 (°C)', fontdict={'family': 'LiSu', 'color': 'blue', 'weight': 'bold', 'size': 18})
```
#### 图例及其他文本对象
除了上述提到的主要组成部分外,还可以针对其他类型的文本组件应用特定的字体格式化选项。比如添加注解或创建图例外部说明框时都可以利用相同的机制实现差异化展示效果:
```python
# 添加带特殊字体样式的注释
plt.annotate('最高点',
xy=(3, 3),
xytext=(2, 3.5),
arrowprops=dict(facecolor='black'),
fontsize=14,
family="YouYuan")
# 显示图例并设定其内部文字风格
plt.legend(['数据序列'], prop={'family':'STXihei','size':12})
```
以上代码片段展示了如何灵活运用 Matplotlib 提供的功能来自由定制各类文本元素的表现形式,从而满足多样化的可视化需求。
阅读全文