根据官方指南,pylab
不再推荐使用 。matplotlib.pyplot
应该直接使用。
全局设置字体大小rcParams
应该通过
import matplotlib.pyplot as plt
plt.rcParams['axes.labelsize'] = 16
plt.rcParams['axes.titlesize'] = 16
# or
params = {'axes.labelsize': 16,
'axes.titlesize': 16}
plt.rcParams.update(params)
# or
import matplotlib as mpl
mpl.rc('axes', labelsize=16, titlesize=16)
# or
axes = {'labelsize': 16,
'titlesize': 16}
mpl.rc('axes', **axes)
可以使用恢复默认值
plt.rcParams.update(plt.rcParamsDefault)
您也可以通过在matplotlib 配置目录下的目录中创建样式表来做到这一点(您可以从 获取配置目录)。样式表格式为stylelib
matplotlib.get_configdir()
axes.labelsize: 16
axes.titlesize: 16
如果您有样式表,/path/to/mpl_configdir/stylelib/mystyle.mplstyle
则可以通过
plt.style.use('mystyle')
# or, for a single section
with plt.style.context('mystyle'):
# ...
您还可以创建(或修改)共享格式的matplotlibrc 文件
axes.labelsize = 16
axes.titlesize = 16
根据您修改的 matplotlibrc 文件,这些更改将仅用于当前工作目录、所有没有matplotlibrc 文件的工作目录,或所有没有matplotlibrc 文件且没有其他 matplotlibrc 文件的工作目录被指定。有关更多详细信息,请参阅自定义 matplotlib 页面的这一部分。
rcParams
可以通过 检索完整的键列表plt.rcParams.keys()
,但要调整字体大小(此处引用的斜体)
axes.labelsize
- x 和 y 标签的字体大小
axes.titlesize
-轴标题的字体大小
figure.titlesize
-图形标题的大小 ( Figure.suptitle()
)
xtick.labelsize
-刻度标签的字体大小
ytick.labelsize
-刻度标签的字体大小
legend.fontsize
- 图例的字体大小 ( plt.legend()
, fig.legend()
)
legend.title_fontsize
- 图例标题的字体大小,None
设置为与默认轴相同。有关用法示例,请参见此答案。
所有这些都接受字符串大小{'xx-small', 'x-small', 'smaller', 'small', 'medium', 'large', 'larger', 'x-large', 'xxlarge'}
或float
in pt
。字符串大小是相对于由指定的默认字体大小定义的
font.size
-文本的默认字体大小,以 pts 为单位。10 pt 是标准值
此外,可以通过以下方式指定权重(尽管仅针对其出现的默认值)
font.weight
- 使用的字体的默认粗细text.Text
。接受{100, 200, 300, 400, 500, 600, 700, 800, 900}
或'normal'
(400)、'bold'
(700)'lighter'
、和'bolder'
(相对于当前权重)。