matplotlib添加字体、字体格式自定义

1.向matplotlib添加字体

比如添加Times New Roman字体,参照此篇博客

2.画图时自定义字体格式

from matplotlib import pyplot as plt

fig, ax = plt.subplots()

2.0 修改全局字体

对于Axes对象设置刻度字体很麻烦(先设定位置再设定文字)。有一条捷径就是先设置全局字体为预期的刻度字体,然后再设置别的地方的字体,如较为容易设置的标题字体、坐标轴标签字体、图例字体等。

plt.rc('font',family='Times New Roman', size=15)

2.1 用fontproperties参数的一类方法

这一类方法包括plt.xlabel, plt.ylabel, ax.set_xlabel, ax.set_ylabel, plt.xticks, plt.yticks, plt.title, ax.set_title
首先实例化一个FontProperties类,然后在调用函数时传给fontproperties

from matplotlib import font_manager as fm

font_properties = fm.FontProperties(**kwargs)
plt.xlabel('xlabel', fontproperties=font_properties)
plt.yticklabels(fontproperties=font_properties)

其中可以指定的关键字参数有如下这些在这里插入图片描述

2.2 用prop参数的一类方法

这类方法主要是绘制图例函数plt.legend, ax.legend
首先定义一个fontdict,然后在调用函数时把fontdict传给prop参数
其中fontdict的可选键名与FontProperties的可选参数名一样

fontdict = {'family':'Times New Roman', 'size':19}
plt.legend(loc='best',prop=fontdict)

2.3 用fontdict参数的一类方法

其中包括plt.xlabel, plt.ylabel,plt.text ax.text ax.set_xticklabels ax.set_yticklabels等。
(没想到吧,plt设定ticklabelAxes对象设定ticklabels方法竟然不一样!!)
也是定义一个fontdict,只不过这次传给的是fontdict参数。

font_dict = {'math_fontfamily':'cm', 'size':19}
plt.text(r'$S = \pi r^2$',fontdict=font_dict)
xticks = ax.get_xticks()
ax.set_xticks(xticks)
ax.set_xticklabels(xticks, fontdict=font_dict)

2.4 汇总

方法位置参数名传入的参数类型
plt.xlabel, plt.ylabel, ax.set_xlabel, ax.set_ylabel, plt.xticks, plt.yticks,plt.title,ax.set_titlefontpropertiesFontProperties实例
plt.legend, ax.legendpropfontdict字典
plt.xlabel, plt.ylabel,plt.text, ax.text, ax.set_xticklabels, ax.set_yticklabelsfontdictfontdict字典
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值