[英]Changing position of matplotlib plot legend
我想改變情節圖例相對於情節位置的位置。 這是情節的代碼:
fig = plt.subplot(122)
legend = []
plt.plot(k_array, NDCG, 'red')
legend.append("utility overall NDCG")
if data_loader.GSQb:
plt.plot(k_array, GSQNDCG, 'orange')
legend.append("GSQ NDCG")
if data_loader.BSQb:
plt.plot(k_array, BSQNDCG, 'purple')
legend.append("BSQ NDCG")
if data_loader.GWQb:
plt.plot(k_array, GWQNDCG, 'black')
legend.append("GWQ NDCG")
fig.legend(legend)
#plt.legend(bbox_to_anchor=(-1, 1),fontsize= 'large')
plt.savefig(metaCat + " best utility NDCGS")
如果可能,我想讓圖例出現在情節左側的大空間中(最好具有相同的大小)。 我怎樣才能做到這一點?
編輯:我已經閱讀了文檔,並且在軸外移動 matplotlib 圖例使它被圖形框截斷,但我仍然無法弄清楚。
它在文檔中寫得很好。 您需要使用loc
參數來選擇圖例的位置。
嘗試使用bbox_to_anchor=(x, y, width, height)
以及(可能帶有負值)將圖例移到圖形之外。
你可以試試這個
fig = plt.subplot(122)
legend = []
plt.plot(k_array, NDCG, 'red')
legend.append("utility overall NDCG")
if data_loader.GSQb:
plt.plot(k_array, GSQNDCG, 'orange')
legend.append("GSQ NDCG")
if data_loader.BSQb:
plt.plot(k_array, BSQNDCG, 'purple')
legend.append("BSQ NDCG")
if data_loader.GWQb:
plt.plot(k_array, GWQNDCG, 'black')
legend.append("GWQ NDCG")
fig.legend(legend)
plt.legend(bbox_to_anchor=(-1, 1),fontsize= 'large', loc='upper left')
plt.savefig(metaCat + " best utility NDCGS")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.