Matplotlib 放置legend(bbox_to_anchor)

legend 是放置在我們的座標邊界裏面的一個東西,主要的作用就是解釋一下我們座標軸裏面的圖形的含義(比如說針對x, y 對應的函數表達式,或者是曲線的意義(函數表達式)),legend 在英語裏面的含義就是圖示的說明。就是我們下面那個小盒子裏面的三個函數的註釋說明,表明每個函數是什麼樣的曲線等等。
當然也可以說其他,比如說一個圖裏面,有幾個柱狀圖,分別表示男生,女生,這個說明我們就用legend 來表示。

可以在plt.legend 裏面使用 loc 這個參數來設置我們的擺放的位置。

e.g. loc=“upper right”, 就放置在我們的邊界盒子(bounding box)(註釋:就是座標軸的邊界)裏面的右上方 ,默認的設置就是座標軸邊界的設置 (0,0)(1,1)
註解邊界的默認設置就是(x0,y0,width,height)=(0,0,1,1).

爲了把這個legend 放置在我們的座標軸邊界的外部,我們,我們需要藉助一個特殊的元祖(x0,y0),比如說放置在座標軸邊界的右下部。

最常用的方法就是下面這個

plt.legend(loc=(1.04,1))

這裏的loc指的是我們的legend的左下角的那個頂點的座標。這個是比較簡單直接的方式

此外,我們有一些通用的方法來手動的設置我們的legend box 放置的地方,那就是使用我們的bbox_to_anchor這個參數,在這裏我們可以只提供bbox 的一個參數來作爲限制就是提供 (x0,y0),它所處的方向就有loc 這個參數來提供

plt.legend(bbox_to_anchor=(1.04,1), loc="upper left")

那麼就是橫座標是1,縱座標是0,但是要多出來一點那我們就設置爲1.04,0 , 這個loc決定的是放置在我們legend的這個邊框的那個部位。loc = "lower left"就是知識我們這個anchor的放置的位置,就是在我們legend(註解)邊框的着陸點。


一個可以參考的例子:

在這裏插入圖片描述

l1 = plt.legend(bbox_to_anchor=(1.04,1), borderaxespad=0)
l2 = plt.legend(bbox_to_anchor=(1.04,0), loc="lower left", borderaxespad=0)
l3 = plt.legend(bbox_to_anchor=(1.04,0.5), loc="center left", borderaxespad=0)
l4 = plt.legend(bbox_to_anchor=(0,1.02,1,0.2), loc="lower left",
                mode="expand", borderaxespad=0, ncol=3)
l5 = plt.legend(bbox_to_anchor=(1,0), loc="lower right", 
                bbox_transform=fig.transFigure, ncol=3)
l6 = plt.legend(bbox_to_anchor=(0.4,0.8), loc="upper right")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章