仅更新title,xlabel和ylabel的字体大小

时间:2014-03-20 20:43:24

标签: 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)

我明白了:

TypeError: xlabel() takes at least 1 argument (0 given)

5 个答案:

答案 0 :(得分:4)

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)

enter image description here

答案 1 :(得分:4)

因为我今天对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

答案 2 :(得分:3)

您可以获取当前标签,并再次设置整个内容:

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

答案 3 :(得分:1)

根据你可以做的docs

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

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

答案 4 :(得分:1)

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

例如:

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