调整matplotlib的图例legend的位置

很多时候再用matplotlib画图例时,直接使用的是:

plt.legend(lab)

以为它会自动调整图例的位置,今天画了个雷达图,发现图例位置和想象中的不一样,如下:
调整matplotlib的图例legend的位置_第1张图片
经查资料,原来可以legend 下的loc和bbox_to_anchor参数对 图例的位置进行调整:
代码如下:

plt.legend(loc='String or Number', bbox_to_anchor=(num1, num2))

其中loc参数遵循以下的表格:

String Number
upper right 1
upper left 2
lower left 3
lower right 4
right 5
center left 6
center right 7
lower center 8
upper center 9
center 10

在图中的位置如下图所示:
调整matplotlib的图例legend的位置_第2张图片
如果loc可以满足要求,那么可以不用第二个参数。

第二个参数 bbox_to_anchor 被赋予的二元组中,num1 用于控制 legend 的左右移动,值越大越向右边移动,num2 用于控制 legend 的上下移动,值越大,越向上移动。用于微调图例的位置。

最后问题就得以解决啦:

plt.legend(lab, loc='upper right', bbox_to_anchor=(1.2, 1))

调整matplotlib的图例legend的位置_第3张图片

你可能感兴趣的:(Python)