如何在Matplotlib中设置图形标题和轴标签字体大小?

2022-09-05 01:19:35

我正在Matplotlib中创建一个这样的数字:

from matplotlib import pyplot as plt

fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')

我想为图形标题和轴标签指定字体大小。我需要所有三个字体大小都是不同的,所以设置全局字体大小()不是我想要的。如何分别设置图形标题和轴标签的字体大小?mpl.rcParams['font.size']=x


答案 1

处理文本(如 、 等)的函数接受与 matplotlib.text.Text 相同的参数。对于字体大小,您可以使用:labeltitlesize/fontsize

from matplotlib import pyplot as plt    

fig = plt.figure()
plt.plot(data)
fig.suptitle('test title', fontsize=20)
plt.xlabel('xlabel', fontsize=18)
plt.ylabel('ylabel', fontsize=16)
fig.savefig('test.jpg')

对于全局设置和大小,mpl.rcParams 包含 和 。(来自页面):titlelabelaxes.titlesizeaxes.labelsize

axes.titlesize      : large   # fontsize of the axes title
axes.labelsize      : medium  # fontsize of the x any y labels

(据我所知,没有办法单独设置和标签大小。xy

我看到这不会影响.我想,你需要手动设置。axes.titlesizesuptitle


答案 2

您也可以通过 rcParams 字典全局执行此操作:

import matplotlib.pylab as pylab
params = {'legend.fontsize': 'x-large',
          'figure.figsize': (15, 5),
         'axes.labelsize': 'x-large',
         'axes.titlesize':'x-large',
         'xtick.labelsize':'x-large',
         'ytick.labelsize':'x-large'}
pylab.rcParams.update(params)