我在 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')
结果如下:
但是,如您所见,图例在右侧被截断。有没有办法可以在图像的右侧创建更多空间,以便我可以看到完整的图例?
欢迎所有提示!
作为对@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')