首页
学习
活动
专区
工具
TVP
发布

为你的图片添加图例

欢迎关注”生信修炼手册”!

图例可以帮助我们更好的理解图中的信息,在matplotlib中,通过legend函数来添加图例,有以下两种用法

1. 在绘制元素时指定label,然后legend自动识别对应的label属性,绘制图例

2. 绘制元素时不需要指定label, 但是需要获取对应的artist对象,然后在legend函数中为其指定对应的label

具体实现的代码如下

两种方法都可以实现如下所示的效果

当图例中只需要展示一个元素时,还有一种特殊用法,代码如下

输出效果如下

对于图例而言,我们最常修改的属性就是图例的位置了,在matplotlib中,可以通过以下loc参数来调整图例的位置,有两种设置方式,第一种用表示位置的字符串来定义图例位置,纵向的位置用lower,center, upper表示,横向的位置用left ,center,right表示,二者组合起来共同定义图例的位置,用法如下

输出结果如下

采用这种赋值方式时,有两种特殊取值,第一个为center,表示无论在水平还是垂直方向上,都位于图片的正中心,第二个是best, 也是默认取值,以不和已有元素重叠为标准,自动计算最佳的图例位置。

第二种设置方式通过两个0到1的浮点数,来指定图例左下角在axes中的位置,将axes的左下角视为(0, 0), 将右上角视为(1, 1), 用法如下

输出结果如下

legend函数实际上有两种方法,axes,legend和figure.legend, 上面的代码都是调用的axes.legend, 所以实在axes的范围内设置图例,当我们想要实现图例在axes之外时,可以通过figure.legend方法来实现,用法如下

输出结果如下

通过对legend的返回值进行操作,也可以个性化的定义图例的样式,常见的用法如下

用texts捕获图例中的文字,用get_frame方法返回图例的边框区域,上述代码的输出结果如下

legend的参数还有很多,详细用法请参考官方文档。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200907A0NL7L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券