Tap*_*Dey 49 python matplotlib legend font-size
我有这样的代码:
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()
Run Code Online (Sandbox Code Playgroud)

从图中可以看出,Fontsize中的设置不会影响Legend Title字体大小.
如何将图例标题的字体大小设置为较小的尺寸?
小智 60
这绝对是一个老问题,但也令我感到沮丧,其他答案都没有改变传说标题 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')
Run Code Online (Sandbox Code Playgroud)
Dou*_*ugR 34
以下是如何更改图例列表和/或图例标题的字体大小:
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
Run Code Online (Sandbox Code Playgroud)
小智 23
我也反对它,这是另一种更流畅的方式:
leg = ax.legend()
leg.set_title('A great legend',prop={'size':14})
Run Code Online (Sandbox Code Playgroud)
aqu*_*tle 16
受当前最佳答案的启发,我找到了一种更自然的方法来更改图例中的字体大小。该fontsize参数设置每个数据标签的字体大小和title_fontsize参数设置标题的字体大小,如果你给的传奇称号。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([0,1,2],[2,1,2],label='test_data (fs=12)')
ax.legend(fontsize=12, title='TITLE (fs=30)',title_fontsize=30)
Run Code Online (Sandbox Code Playgroud)
seg*_*sai 14
我不知道如何为单个情节设置它,但我总是在全球范围内进行:
plt.rc('legend',**{'fontsize':6})
Run Code Online (Sandbox Code Playgroud)
Ale*_*din 12
现在到了 2021 年,使用 matplotlib 3.4.2,您可以使用以下命令设置图例字体
plt.legend(title="My Title", fontsize=10, title_fontsize=15)
Run Code Online (Sandbox Code Playgroud)
其中fontsize是图例中项目的字体大小,title_fontsize是图例标题的字体大小。更多信息请参见matplotlib 文档
小智 6
这是最快的:
plt.legend(loc=2,prop={'size':6})
Run Code Online (Sandbox Code Playgroud)
我一般都是这样做的.完成情节后,我会执行以下操作
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize='small')
Run Code Online (Sandbox Code Playgroud)
我不知道这是否适合你
| 归档时间: |
|
| 查看次数: |
66178 次 |
| 最近记录: |