我在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')
結果如下:
正如你可以看到但是,在傳說被切斷了在右邊。有沒有一種方法可以在圖像的右側創建更多空間,以便我可以看到完整的圖例?
歡迎所有提示!
回覆@mmgp我在下面貼出下面的代碼。正如你可以通過他的回答看到的,我忘記了將bbox_inches ='tight'添加到savefig部分。因此,對於未來的讀者有一個完全工作的代碼,我剛添加的bbox_inches =「緊」在下面的代碼,這使得它很好地工作.. :):
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')
你試過不同的圖大小嗎? – arynaq
@ user948652 - 是的,我還添加了以下內容:plt.figure(figsize =(15,15))。然而,這只是給了一個大的空的陰謀。我不知道這是爲什麼......:S – kramer65
如果在'plt.savefig'中使用'bbox_extra_artists = [l]'作爲新參數,其中'l'是'plt.legend'的返回值,會發生什麼? – mmgp