在matplotlib中更改图例标题的字体大小

3
我想改变matplotlib中图例标题的字体大小。这是我的第一个猜测:
import matplotlib.pyplot as plt
fig = plt.figure()
ax  = fig.gca()
ax.plot(range(10))
lg  = ax.legend(['test entry'],title='test')
lg.set_title(fontsize='large')
plt.show()

导致错误的原因

    File "test.py", line 6, in <module>
    lg.set_title(fontsize='large')
TypeError: set_title() got an unexpected keyword argument 'fontsize'

我也尝试过。
lg  = ax.legend(['test entry'],title='test',title_fontsize='large')

产生哪些结果
    self.legend_ = mlegend.Legend(self, handles, labels, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'title_fontsize'
1个回答

7
根据您的Python和matplotlib版本,您需要采取不同的步骤。您的第二个代码适用于最新版本(3.1.2)。您可能正在运行Python 2与matplotlib2.2.4。如您在此版本的API文档中看到的,没有关键字参数来更改图例标题大小。您需要像这样继续:
lg.set_title('title',prop={'size':'large'})

Matplotlib 2.2.4

如果你使用Python 2版本的matplotlib,你将无法升级到更高版本。

plt.legend.set_title('title',prop={'size':'large'})

Matplotlib 3.x.x

最新版本中您有许多选项,例如:

plt.legend.set_title('title',prop={'size':'large'})

或者
plt.legend(...,title='title',title_fontsize='large')

或者
plt.rcParams['legend.title_fontsize'] = 'large'

如果您想全局更改字体大小。


以下是一些类似问题的更多信息:


实际上我正在使用Python 2。谢谢,非常有帮助。 - user12753698

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接