调整matplotlib图例的位置


显示图例plt.legend具有三个参数。
--bbox_to_anchor
--loc
--borderaxespad

bbox_to_anchor确定图例框架相对于整个图形的位置。整个图的左下角以元组(0,0)给出,右上角以(1,1)给出。该位置称为锚。

loc确定图例框架的哪一部分适合锚点(由bbox_to_anchor指定的位置)。使用loc ="左上",可以将框架的左上角与锚点对齐,而使用loc =" center",则可以将中心对齐。

borderaxespad允许您设置锚点与loc指定的框架部分之间的距离。

示例

1
2
3
4
5
6
7
8
9
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

x = np.arange(0, 10, 0.1)
s = np.sin(x)
c = np.cos(x)
plt.plot(x, s, "r", label="sin")
plt.plot(x, c, "k", label="cos")

将锚点与图例框架的右上角和右上角与锚点对齐。不要留空白。

1
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=0, fontsize=18)

download.png

将锚点与图例框架的右上角和右上角与锚点对齐。留一点余量。

1
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=18)

download-2.png

将锚点放在右下角,将图例框架的右下角与锚点对齐。留一点余量。

1
plt.legend(bbox_to_anchor=(1, 0), loc='lower right', borderaxespad=1, fontsize=18)

download-3.png

将图例框架的左上角与锚点对齐,锚点位于外部左下角。

1
plt.legend(bbox_to_anchor=(0, -0.1), loc='upper left', borderaxespad=0, fontsize=18)

download-4.png

将锚点放置在右外侧,并使图例框架的左上方与锚点对齐。

1
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0, fontsize=18)

download-5.png

位置

的候选人

"最佳"
"右上方"
"左上"
"左下"
"右下"
"对"
"左中"
"右中"
"较低的中心"
"上部中心"
"中心"