如何查看matplotlib旁边的图例?

kra*_*r65 4 python matplotlib

我在matplotlib中有一个情节,它有很多行.我有一个传奇,因此相当广泛,我使用以下代码将它放在我的情节旁边:

fontP = FontProperties()
fontP.set_size('small')
plt.legend(variablelist, loc=0, prop = fontP, bbox_to_anchor=(1.0, 1.0))
plt.savefig(filename+'.png')
Run Code Online (Sandbox Code Playgroud)

结果如下: 在此输入图像描述

但是,正如您所看到的,图例右侧是切断的.有没有办法可以在图像的右侧创建更多空间,以便我可以看到完整的图例?

欢迎所有提示!

为了回应@mmgp,我在下面发布了以下代码.正如你可以从他的回答中看到的那样,我忘了将bbox_inches ='tight'添加到savefig部分.因此,为了让未来的读者拥有一个完整的代码我只是在下面的代码中添加了bbox_inches ='tight',这使得它工作得非常好.. :):

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

mylist = []
for a in range(10):
    mylist.append([])
    for b in range(10):
        mylist[a].append(random())

x = range(len(mylist))
for enum, i in enumerate(mylist):
    plt.plot(x, mylist[enum], label='label_'+str(enum))

plt.grid(b=True)
fontP = FontProperties()
fontP.set_size('small')

variablesList = []
for i in range(10):
    variablesList.append('label_'+str(i))

legenda = plt.legend(variablesList, loc=0, prop = fontP, bbox_to_anchor=(1.0, 1.0))
plt.savefig('testplot.png', bbox_extra_artists=[legenda], bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)

mmg*_*mgp 7

几乎就在那里,只需在savefig:中添加一个新参数:bbox_inches = 'tight'.这使得matplotlib可以为你的情节找出所需的大小.