仅更新标题、x轴标签或y轴标签的字体大小
我知道我们有一些方法可以添加或修改x轴标签、y轴标签和标题:
fig.suptitle('test title', fontsize=20)
plt.xlabel('xlabel', fontsize=20)
plt.ylabel('ylabel', fontsize=20)
但是如果我不想改变这些属性的实际内容,只想改变字体大小呢?
如果我单独使用这些函数并只传入字体大小的参数,它是无法工作的:
plt.xlabel(fontsize=20)
我得到的结果是:
TypeError: xlabel() takes at least 1 argument (0 given)
5 个回答
1
plt.xlabel
,如果我没记错的话,是用来设置当前坐标轴的横坐标标签。如果你想在创建标签后更改它的属性(或者其他任何文本元素),你需要把它保存到一个变量里。
举个例子:
plt.subplots()
xlabel = plt.xlabel('test')
xlabel.set_fontsize(20)
1
根据文档,你可以这样做:
font = {'family' : 'normal',
'weight' : 'bold',
'size' : 20}
plt.xlabel('xlabel', **font)
3
你可以先获取当前的标签,然后再把整个内容重新设置一遍:
plt.xlabel(plt.gca().get_xlabel(), fontsize=20)
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
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)