问题描述

python matplotlib中:

plt.legend()

这一条代码会帮我们显示图例,而且通常,其会放置在图片中一个不错的位置。但是如果我们的数据,占满了整个图像,此时,其放的位置就会出问题了。

参数:位置:loc

这个参数内置了一些位置,如果这些位置恰好有你想要的,那么用这个就行了,很方便。

plt.legend(loc=1)#这个就等价于将图例放置在右上角的位置。

参数:位置:bbox_to_anchor

这个是绝招,因为其可以控制任意位置。

plt.legend(bbox_to_anchor=(1,0))

这个玩意是一个坐标,原点就是图的左下角。但是,这个坐标的数值表示的是比例。比如

(1,0)#右下角(0,1)#左上角(0.5,0.5)#中间(0.4,0.4)#中间往左下一点,哈哈。

所以说,很简单了,你自己慢慢调到你想要的位置就行了。注意,上面还支持负数哦。

调整大小

我们只需要legend函数里面传入下面这个东西即可。

legend(prop = {'size':8})

在matplotlib,这个prop变量几乎可以用在任何地方,不只是legend。

调整样式

我们看到的样式总是竖排的,每次都是,其实我们可以更改之,比如我们有两个图例,那么我们设置下面这个为2,就是默认并排展示,而不是并列展示。

legend(ncol=2)#默认为1,并列展示。

从而变成如下的图例。