如何设置Matplotlib轴图例的字体大小?

2024-03-28 13:53:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的密码:

import matplotlib.pyplot as plt
from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties

fontP = FontProperties()
fontP.set_size('xx-small')
fig=plt.figure()
ax1=fig.add_subplot(111)
plot([1,2,3], label="test1")
ax1.legend(loc=0, ncol=1, bbox_to_anchor=(0, 0, 1, 1),
           prop = fontP,fancybox=True,shadow=False,title='LEGEND')
plt.show()

legend fontsize

从图中可以看出,Fontsize中的设置不影响图例标题字体大小。

如何将图例标题的字体大小设置为较小的大小?


Tags: fromimport密码标题matplotlibasfigplt
3条回答

以下是如何更改图例列表和/或图例标题的字体大小:

legend=plt.legend(list,loc=(1.05,0.05), title=r'$\bf{Title}$') #Legend: list, location, Title (in bold)
legend.get_title().set_fontsize('6') #legend 'Title' fontsize
plt.setp(plt.gca().get_legend().get_texts(), fontsize='12') #legend 'list' fontsize

这绝对是一个老问题,但也让我很沮丧,其他答案根本没有改变图例标题字体大小,而只是改变了文本的其余部分。所以在我的头撞在matplotlib文档上一段时间后,我想到了这个。

legend = ax1.legend(loc=0, ncol=1, bbox_to_anchor=(0, 0, 1, 1),
           prop = fontP,fancybox=True,shadow=False,title='LEGEND')

plt.setp(legend.get_title(),fontsize='xx-small')

从Matplotlib 3.0.3开始,还可以使用

plt.rcParams['legend.title_fontsize'] = 'xx-small'

我的头也撞到了它,这是另一种更流畅的方式:

leg = ax.legend()
leg.set_title('A great legend',prop={'size':14})

相关问题 更多 >