如何在Matplotlib中设置graphics标题和轴标签的字体大小?
我正在像这样在Matplotlib中创build一个graphics:
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')
我想指定graphics标题和轴标签的字体大小。 我需要所有三个不同的字体大小,所以设置全局字体大小( mpl.rcParams['font.size']=x
)是不是我想要的。 如何分别设置graphics标题和轴标签的字体大小?
处理像label
, title
等文本的函数接受与matplotlib.text.Text相同的参数。 对于字体大小,你可以使用size/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')
对于全局设置title
和label
大小, mpl.rcParams
包含axes.titlesize
和axes.labelsize
。 (来自页面):
axes.titlesize : large # fontsize of the axes title axes.labelsize : medium # fontsize of the x any y labels
(就我所知,没有办法单独设置x
和y
标签尺寸。)
而且我看到axes.titlesize
不影响suptitle
。 我想,你需要手动设置。
您也可以通过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)
如果你更习惯于使用ax
对象来进行绘图,你可能会发现ax.xaxis.label.set_size()
更容易记住,或者至less在ipythonterminal中使用tab更容易find。 看到效果后,似乎需要重绘操作。 例如:
import matplotlib.pyplot as plt fig, ax = plt.subplots() x = [0,1,2] y = [0, 3, 9] ax.plot(x,y) fig.suptitle('test title') ax.set_xlabel('xlabel') ax.set_ylabel('ylabel') ax.xaxis.label.set_size(20) plt.draw()
我不知道类似的方式来设置suptitle大小。