(完美解决)matplotlib图例(legend)如何自由设置其位置、大小以及样式。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

前言

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)#中间往左下一点哈哈。

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

在这里插入图片描述
最终成功调节到了一个中间偏左的位置哈哈。

吃水不忘挖井人学习自https://www.freesion.com/article/239347665/

大小

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

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

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

样式

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

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

从而变成如下的图例。
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6