在使用matplotlib做图时,总免不了和图例(legend)打交道,那图例到底该放在哪?该如何放到指定的位置?(本文只讨论legend的坐标系为axes的情况)
上篇文章介绍了如何通过loc参数设置legend的位置:
1.loc = str类型,将legend放到9个固定的位置,左上角,右上角等等
2.loc =(float, float) ,通过设置lengend左小角相对于坐标轴的坐标,进行更精确的定位legend的位置
除了loc参数外,还有一个参数可以和loc一起使用更好的控制legend的位置,那就是bbox_to_anchor。
bbox_to_anchor参数可选值为:
- 默认值为BboxBase: 本人理解为axes.bbox,即以x,y轴为长宽组成的矩形区域,或者figure.bbox,即画布所在的区域
- 2元元组(x, y):一个点
- 4元元组(x, y, width, height):以(x, y)为定位点,width和height分别为长和宽所组成的矩形区域
loc参数与bbox_to_anchor参数是如何互动的?
其实很简单,就是bbox_to_anchor画了一块地(矩形或者点),再通过loc参数的设置,使legend围绕着这块地儿闪转腾挪,其实当你没设置这个参数的时候,这个参数的默认值帮你画好了地,不是axes.bbox就是figure.bbox。现在你可以通