Matplotlib:如何用rc参数设置绘图元素及坐标轴刻度字体并写入样式表?
Matplotlib 字体族配置问题解答
问题1:能否使用Matplotlib的rc参数为绘图的不同元素设置字体族,并将其包含在样式表中?
可以。Matplotlib的rc参数系统支持针对绘图的不同元素(如标题、坐标轴标签、刻度、图例等)单独配置字体族,所有配置都可以写入.style格式的样式表文件,通过plt.style.use()加载后即可全局生效。
问题2:能否为坐标轴刻度标签定义与绘图主体不同的字体族?此外,能否通过rc参数实现该需求,对应的rc参数样式表应如何编写?
完全可以通过rc参数实现。Matplotlib提供了专门针对坐标轴刻度标签的rc参数,允许为其设置与全局/主体不同的字体族。
样式表示例(mpl.style)
# 全局默认字体族(绘图主体字体) font.family : TeX Gyre Heros # 单独设置X轴、Y轴刻度标签的字体族 xtick.labelfamily : Deja Vu ytick.labelfamily : Deja Vu # 可选:单独设置坐标轴标签的字体族 # axes.labelfamily : 自定义字体 # 可选:单独设置标题字体族 # axes.titlefamily : 自定义字体
验证代码
使用你提供的代码即可验证效果(可补充坐标轴标签更直观查看差异):
import matplotlib.pyplot as plt plt.style.use('mpl.style') plt.figure() plt.title('Plot') plt.xlabel('X Axis') plt.ylabel('Y Axis') plt.plot([0,1],[0,1]) plt.show()
运行后,绘图主体文本会使用TeX Gyre Heros,而X/Y轴的刻度标签会使用Deja Vu字体。
内容的提问来源于stack exchange,提问作者nikost
相关产品推荐
相关产品推荐

