matplotlib fig.legend()常用参数 包括位置调整和字体设置等

一、四种方法

legend()
legend(handles, labels)
legend(handles=handles)
legend(labels)

1 legend()

labels自动通过绘图获取Automatic detection of elements to be shown in the legend

# 第一种方法
ax.plot([1, 2, 3], label='Inline label')
ax.legend()
# 第二种方法
line, = ax.plot([1, 2, 3])
line.set_label('Label via method')
ax.legend()

2 legend(handles, labels)

明确列出(Explicitly listing the artists and labels in the legend

ax.legend([line1, line2, line3], ['label1', 'label2', 'label3'])

3 legend(handles=handles)

只列出handlesExplicitly listing the artists in the legend

line1, = ax.plot([1, 2, 3], label='label1')
line2, = ax.plot([1, 2, 3], label='label2')
ax.legend(handles=[line1, line2])

4 legend(labels)

只列出labels,不推荐,因为绘图元素和标签之间的关系仅通过它们的顺序来隐含,并且很容易混淆。

ax.plot([1, 2, 3])
ax.plot([5, 6, 7])
ax.legend(['First line', 'Second line'])

二、重要参数

1 handlessequence of Artist, optional

要添加到图例中的绘图元素。

A list of Artists (lines, patches) to be added to the legend.

2 labels list of str, optional

绘图元素旁边的标签。

A list of labels to show next to the artists.

3 loc (default: 'best'**)

控制图例的位置(当设置图例的位置时,先设置这个参数!!!)

在这里插入图片描述
在这里插入图片描述

4 bbox_to_anchor

2-tuple或者4-tuple。一般我们使用2-tuple
loc一起使用的控制legend的位置框,该参数能够进行图例任意位置的调节
**注意:bbox_to_anchorloc一起使用!

如果是4-tuple, 分别表示(x, y, width, height)

x表示横轴,x=0是最左侧

y表示y轴,y=0是最下侧

width表示宽度

height表示高度

一个例子:

# 
loc='upper right', bbox_to_anchor=(0.5, 0.0, 0.5, 0.5)

如果是2-tuple, 分别表示(x, y)

注意:当使用loc=(x,y)时,x, y并不是轴域中实际的x, y的值,而是将x轴, y轴分别看成1,

即:(x/(x_max-x_min), y/(y_max-y_min))(归1处理);

x越大越向右

y越大越向上

一个例子:

# 如果不设置loc,默认将图例的【左下角】放在图的(0.5, 0.5)
bbox_to_anchor=(0.5, 0.5)# 如果设置了loc
# 将图例的右上角点放在图的(0.5, 0.5)的位置【这个很重要】
loc='upper right', bbox_to_anchor=(0.5, 0.5)
# 将图例的右上角点放在图的(0.5, 0.5)【这个很重要】
loc='upper left', bbox_to_anchor=(0.5, 0.5)

5 prop None or FontProperties or dict

设置图例的字体属性,一般用字典最方便

prop={‘weight’: ‘bold’, ‘size’: 12}

6 ncols int, default: 1

图例的列数

7 markerfirst bool, default: True

如果为True,则图例标记将放置在图例标签的左侧。

如果为False,图例标记将放置在图例标签的右侧。

8 frameon default: True

是否在图例外画框

9 mode {“expand”, None}

如果是"expand",图例将水平展开以填充轴区域(如果定义图例的大小,则为bbox_to_anchor)。

总结

1 多个子图共用一个图例使用fig.legend()

2 多个子图【每一个图使用一个图例】使用ax.legend()

3 位置大调用loc

4 利用**bbox_to_anchor** 可随意设置图例的位置【图里或者图外都可以】

学习链接:

  • https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html
  • matplotlib 到底该如何控制legend的位置之一? - 知乎 (zhihu.com)
  • Matplotlib 多个子图使用一个图例_matplotlib子图共用图例_Mepleleo的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis过期键删除策略

如果一个键过期了,那么它什么时候会被删除呢? 这个问题有三种可能的答案,它们分别代表了三种不同的删除策略: 1.定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时…

4.3 移动终端安全

数据参考:CISP官方 目录 移动智能终端重要性移动智能终端安全威胁移动智能终端安全使用 一、移动智能终端重要性 1、移动智能终端的发展 完整的超小型计算机系统 强大的处理能力完整的软硬件系统 可完成较为复杂的处理任务 拍照、听音乐、玩游戏、上网、视…

免费ai写作生成器帮你释放创作天赋

喂!听说你想提升写作功力?那么恭喜你,现在流行的ai写作软件将成为你提升写作效率的秘密武器。这是一款革命性的应用,就像你的个人写作导师,会帮助你通过简单的几步,创造出令人瞠目结舌的文字作品&#xff0…

arcgis更改图层字段名脚本

话不多说,上脚本源码,复制黏贴即可 #-*- coding:utf-8 -*- __author__ lumen import arcpy #输入图层 InputFeature arcpy.GetParameterAsText(0) #原始字段 oldField arcpy.GetParameterAsText(1) # 获取原始字段类型 oldFieldType desc arcpy.…

python人工智能可以干什么,python人工智能能干什么

大家好,给大家分享一下python做人工智能需要什么水平,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 人工智能包含常用机器学习和深度学习两个很重要的模块,而python拥有matplotlib、Numpy、sklearn、keras等大量的…

Linux Linux系统上C程序的编译与调试

一、环境配置 在Linux操作系统中,打开终端,以管理员root模式登录 1.更新:输入命令apt update 2.下载vim:输入命令apt install vim -y 3.下载gcc:输入命令apt install gcc -y 4.下载g:输入命令apt install …

VR内容研发公司 | VR流感病毒实验虚拟现实课件

由广州华锐互动开发的《VR流感病毒实验虚拟现实课件》是一种新型的教学模式,可以为学生提供更加真实和直观的流感病毒分离鉴定实验操作体验,从而提高学生的实验技能和工作效率。 《VR流感病毒实验虚拟现实课件》涉及了生物安全二级实验室(BSL-2)和流感病…

ElasticSearch:项目实战(2)

ElasticSearch: 项目实战 (1) 需求&#xff1a; 新增文章审核通过后同步数据到es索引库 1、文章服务中添加消息发送方法 在service层文章新增成功后&#xff0c;将数据通过kafka消息同步发送到搜索服务 Autowiredprivate KafkaTemplate<String,String> kafkaTemplate;/…

Java整合Selenium录制视频

捕捉视频 有时候我们未必能够分析故障只需用日志文件或截图的帮助。有时捕获完整的执行视频帮助。让我们了解如何捕捉视频。 我们将利用Monte媒体库的执行相同。 配置 第1步&#xff1a;导航到URL下载屏幕记录JAR&#xff0c;如下图所示。 http://www.randelshofer.ch/monte…

linux环形缓冲区kfifo实践3:IO多路复用poll和select

基础知识 poll和select方法在Linux用户空间的API接口函数定义如下。 int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll()函数的第一个参数fds是要监听的文件描述符集合&#xff0c;类型为指向struct pollfd的指针。struct pollfd数据结构定义如下。 struct poll…

如何让PPT看起来规整统一

一、字体 常见问题&#xff1a;字体风格太多、文字可读性差、页面风格不匹配 1.使用文字的几个原则 &#xff08;1&#xff09;一份PPT最多使用两种中文字体 比如首页大标题宋体、正文黑体、其他页标题黑体加粗。通过粗细、字号、不同颜色背景等区分不同层级。注意 使用粗体…

【React学习】—jsx语法规则(三)

【React学习】—jsx语法规则&#xff08;三&#xff09; 一、jsx语法规则&#xff1a; 1、定义虚拟DOM&#xff0c;不要写引号&#xff0c; 2、标签中混入JS表达式要用{} 3、样式的类名指定不要用class&#xff0c;要用className 4、内联样式&#xff0c;要用style{{key:value}…

AWS中Lambda集成SNS

1.创建Lambda 在Lambda中&#xff0c;创建名为AWSSNSDemo的函数 use strict console.log(loading function); var aws require(aws-sdk); var docClient new aws.DynamoDB.DocumentClient(); aws.config.regionap-southeast-1;exports.handler function(event,context,cal…

一台电脑B用网线共享另外一台电脑A的WiFi网络,局域网其它电脑C怎么访问电脑B服务

环境: 电脑A:联想E14笔记本 系统:WIN10 专业版 局域网IP:192.168.14.111 共享IP:192.168.137.1 电脑B:HP 288pro 台式机 Ubuntu20.04 系统:共享IP:192.168.137.180 电脑A正常连接WIFI,电脑B没有WIFI只有,有线网口,共享电脑A的无线网 (还有一种桥接网络不在本…

pdf怎么转换成jpg图片?这几个转换方法了解一下

pdf怎么转换成jpg图片&#xff1f;转换PDF文件为JPG图片格式在现代工作中是非常常见的需求&#xff0c;比如将PDF文件中的图表、表格或者图片转换为JPG格式后使用在PPT演示、网页设计等场景中。 【迅捷PDF转换器】是一款非常实用的工具&#xff0c;可以将PDF文件转换成多种不同…

创建CREATE_STAT_TABLE 统计信息表在达梦和oracle中的使用

达梦 创建CREATE_STAT_TABLE 统计信息表 PROCEDURE CREATE_STAT_TABLE ( STATOWN VARCHAR(128), STATTAB VARCHAR(128), TABLESPACE VARCHAR(128) DEFAULT NULL, GLOBAL_TEMPORARY BOOLEAN DEFAULT FALSE ); 创建普通表的对应系统表的列名字段包括以下&#xff1a; OWNER TABL…

C 语言的逻辑运算符

C 语言的逻辑运算符包括三种&#xff1a; 逻辑运算符可以将两个关系表达式连接起来. Suppose exp1 and exp2 are two simple relational expressions, such as cat > rat and debt 1000 . Then you can state the following: ■ exp1 && exp2 is true only if bo…

通讯协议035——全网独有的OPC HDA知识一之聚合(四)平均值

本文简单介绍OPC HDA规范的基本概念&#xff0c;更多通信资源请登录网信智汇(wangxinzhihui.com)。 本节旨在详细说明HDA聚合的要求和性能。其目的是使HDA聚合标准化&#xff0c;以便HDA客户端能够可靠地预测聚合计算的结果并理解其含义。如果用户需要聚合中的自定义功能&…

计算机基础知识一

1、计算机系统组成 1.1 硬件 CPU&#xff1a;中央处理器、计算机核心部件、负责计算任务 内存&#xff1a;记忆功能、存储二进制数&#xff0c;内存是一个字节一个地址。 内存大小换算&#xff1a; 8 bits 1 Byte 1024 Bytes Bytes 1 KB &#xff0c; 1024 KB KB 1 …

java 企业工程管理系统软件源码 自主研发 工程行业适用 em

​ 工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…