Python 仅更新标题、xlabel或ylabel的字体大小

Python 仅更新标题、xlabel或ylabel的字体大小,python,matplotlib,Python,Matplotlib,我知道我们有以下方法来添加/更改xlabel、ylabel和标题: fig.suptitle('test title', fontsize=20) plt.xlabel('xlabel', fontsize=20) plt.ylabel('ylabel', fontsize=20) 但是如果我不想更改这些属性中任何一个的实际字符串,而只想更改fontsize 如果我单独使用fontsize参数尝试这些函数中的任何一个,它都不会工作: plt.xlabel(fontsize=20) 我得到:

我知道我们有以下方法来添加/更改xlabel、ylabel和标题:

fig.suptitle('test title', fontsize=20)
plt.xlabel('xlabel', fontsize=20)
plt.ylabel('ylabel', fontsize=20)
但是如果我不想更改这些属性中任何一个的实际字符串,而只想更改fontsize

如果我单独使用fontsize参数尝试这些函数中的任何一个,它都不会工作:

plt.xlabel(fontsize=20)
我得到:

TypeError: xlabel() takes at least 1 argument (0 given)
根据计划,你可以做:

font = {'family' : 'normal',
        'weight' : 'bold',
        'size'   : 20}

plt.xlabel('xlabel', **font)

您可以获取当前标签,然后重新设置整个内容:

plt.xlabel(plt.gca().get_xlabel(), fontsize=20)

plt.xlabel
,IIRC将设置当前轴对象的
xlabel
。如果要在创建标签(或任何文本元素)后更改其属性,则需要将其保存在变量中

例如:

plt.subplots()
xlabel = plt.xlabel('test')
xlabel.set_fontsize(20)

有一种
set\fontsize
方法:

plt.plot(range(10), range(10))
plt.xlabel('To change it', fontsize=20)
plt.ylabel('To keep it', fontsize=20)
plt.gca().xaxis.get_label().set_fontsize(50)

因为我今天对pyplot感到不安:

fig, ax = plt.subplots(1, 1)  # first use of pyplot to get the fig/ax objects
xlabel = ax.set_xlabel('test')
ax.set_ylabel('test2', fontsize=20)
xlabel.set_fontsize(25)

plt.draw()    # second use to make sure the gui re-draws it self

这是避免使用
pyplot
接口的好例子。如果你直接作用于
对象,你可以做
ax.setxlabel(“你想要的文本”,fontsize=20)
我相信这会将x标签设置为
'font'
@askewchan-确实如此。我将它从普通文档更改为OP的标签。如果只抓取文本对象并更改其大小更好,那么抓取对轴的引用而不是使用pyplot@tcaswell,我同意。我只是试着把我的反
pyplot
crusade调低一点:)我看不出有什么理由这么做,把crusade赶走!在我看来,关于mpl的25%的困惑都是由于pyplot中的状态机做了一些令人惊讶的事情/只公开了一小部分函数(名称稍有不同!)。使用pyplot在互联网上发布的示例越少越好。谢谢。在本主题中,我如何使用
plt.gca().
来更改xtick标签的字体大小?此外,这是否适用于
标题
?当我尝试PLT.GCA.().THECT.GETYLALE()时,它是可行的,但是你应该考虑避免< <代码> PyPrave>代码>,因为它变得非常不可读:<代码> PLT.gCa()。StUxXTICKLAMP(MAP(STR,PLT.gCa()),GETXXICKSK()),fOnthSosits=15)< /Cl> >改变蜱类。对于标题,您只需要
plt.gca().title.set\u fontsize(50)