matplotlib库画图时,把中文设置为宋体,英文设置为Time New Roman
时间: 2024-09-24 07:07:23 浏览: 40
在Matplotlib中,你可以通过设置`fontproperties`属性来分别控制中文和英文的字体样式。下面是一个示例,展示如何将中文设置为宋体(SimSun),英文设置为Times New Roman:
```python
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 加载中文和英文字体
chinese_font = fm.FontProperties(fname=r"C:\Windows\Fonts\simsun.ttc") # 指定你的系统中宋体字体的位置
english_font = fm.FontProperties(family='Times New Roman')
# 设置全局默认字体
plt.rcParams.update({
'font.sans-serif': ['SimSun'], # 中文使用宋体
'font.family': 'Times New Roman', # 英文使用Times New Roman
'axes.unicode_minus': True # 解决负号乱码问题
})
# 创建图表
labels = ['中文标签', 'English Label']
data = [1, 2]
fig, ax = plt.subplots()
ax.plot(data, label=labels[0], fontproperties=chinese_font)
ax.set_xlabel('X轴', fontproperties=english_font)
ax.set_ylabel('Y轴', fontproperties=english_font)
ax.legend(fontproperties=english_font) # 图例也设置为英文
plt.show()
```
注意替换上述代码中的字体文件路径(`fname`)为你系统中实际的宋体字体文件位置。
阅读全文