matplotlib之pyplot模块——向任意位置添加一个子图(axes)

Python--Matplotlib库与数据可视化③--Figures、Axes对象与多图绘制 🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取。 阅读详情

当前有效matplotlib版本为:3.4.1。

概述

axes()函数功能与subplot()函数极其相似。都是向当前图像(figure)添加一个子图(Axes),并将该子图设为当前子图或者将某子图设为当前子图。两者的区别在于subplot()函数通过参数确定在子图网格中的位置,而axes()函数在添加子图位置时根据4个坐标确定位置。

函数的定义签名为:matplotlib.pyplot.axes(arg=None, **kwargs)

函数的调用签名为:

# 在当前图像中添加一个铺满的子图
plt.axes()
# 根据rect位置添加一个子图
plt.axes(rect, projection=None, polar=False, **kwargs)
# 将ax设置为当前子图
plt.axes(ax)

函数的参数为:

  • arg : 取值为 None或四元组rect。
    • None:使用subplot(**kwargs)添加一个新的铺满窗口的子图。
    • 四元组rect:rect = [left, bottom, width, height],使用 ~.Figure.add_axes根据rect添加一个新的子图。
      rect的取值为以左下角为绘制基准点,确定高度和宽度。rect的4个元素均应在[0,1]之间(即以图像比例为单位)。
  • projection: 控制子图的投影方式。{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str},默认值为None ,即'rectilinear'。
  • polar:相当于设置projection='polar'。可选参数。布尔值,默认值为True。
  • sharex, sharey:用于设置共享x/y轴。可选参数。Axes对象。默认值为None。
  • lables:返回的子图对象的标签。可选参数。字符串。
  • **kwargs:用于向创建子图网格时用到的 ~matplotlib.gridspec.GridSpec类的构造函数传递关键字参数。可选参数。字典。

函数的返回值为:
.axes.SubplotBase实例,或其他~.axes.Axes的子类实例。

函数原理

axes函数其实是Figure.add_subplot和Figure.add_axes方法的封装。源码为:

def axes(arg=None, **kwargs):
    fig = gcf()
    if arg is None:
        return fig.add_subplot(**kwargs)
    else:
        return fig.add_axes(arg, **kwargs)

案例:使用axes函数添加子图

import matplotlib.pyplot as plt

# 添加一个覆盖整个窗口的子图,背景色为灰色
plt.axes(facecolor='grey')
# 在图像0.45,0.45位置添加一个0.1宽0.1长的背景色为红色的子图
plt.axes((0.45,0.45,0.1,0.1),facecolor='r')
# 在图像0.5,0.5位置添加一个0.1宽0.1长的背景色为黑色的子图
plt.axes((0.5,0.5,0.1,0.1),facecolor='k')
plt.show()

根据输出可知,axes添加的子图是可以重叠的。
在这里插入图片描述

案例:混合应用subplot、subplots、subplot2grid、axes函数

在这里插入图片描述

import matplotlib.pyplot as plt

# 添加3行3列子图9个子图
fig, axes = plt.subplots(3, 3)
# 为第1个子图绘制图形
axes[0, 0].bar(range(1, 4), range(1, 4))
# 使用subplot函数为第5个子图绘制图形
plt.subplot(335)
plt.plot(1,'o')
# 使用subplot2grid函数将第三行子图合并为1个
plt.subplot2grid((3,3),(2,0),colspan=3)
# 在图像0.5,0.5位置添加一个0.1宽0.1长的背景色为黑色的子图
plt.axes((0.5,0.5,0.1,0.1),facecolor='k')
plt.show()

axes函数与subplot、subplots、subplot2grid函数的对比

相同之处:
axes函数与subplot、subplot2grid函数都是添加一个子图。

不同之处:
axes函数可在图像中的任意位置添加子图。subplot、subplots、subplot2grid函数只能根据固定的子图网格位置添加子图。
axes函数创建的子图可重叠。subplot、subplots、subplot2grid函数创建的子图如果位置重叠,会覆盖掉原有的子图(删除原有子图)。

坐标轴的定制之axes()函数 【代码】坐标轴的定制之axes()函数。 阅读详情

相关推荐

matplotlib.pyplot使用for循环进行多个子图Subplot的绘制的方法

matplotlib.pyplot使用for循环进行多个子图Subplot的绘制 目录matplotlib.pyplot使用for循环进行多个子图Subplot的绘制一、matplotlib.pyplot绘制子图的基本方法二、使用for循环进行绘图的一种方法 一、matplotlib.pyplot绘制子图的基本方法 首先我们来了解一下,matplotlib中绘图需要使用到的元素 首先是figure图片对象,然后是图片对象包含的子图对象axes,再然后是每个子图对象的轴Axis对象。 我们要进行子图的绘制,

Shen Mu Xin's Blog 1万+

Matlab中axes函数解析

axes函数,在Matlab的帮助文档中的说明: “Create axes graphics object” ----创建坐标系图形对象 语法: [plain] view plain copy   axes   axes('PropertyName',propertyValue,...)   axes(h)   h = axes(

ljh0302的专栏 6万+

matplotlib.pyplot绘制子图

import matplotlib.pyplot as plt 当只画1个图时,使用plt(比如plt.line(…))绘制,隐式地创建了一个图形实例和图形对象内部的坐标轴。 在一个图形上画多个子图时,可以显式地调用plt .subplot()来获得Figure对象和Axes对象,以便对它们执行更多的操作。 一、子图 1. 使用plt.subplots绘制均匀状态下的子图 返回元素分别是画布和子图构成的列表,第一个数字为行,第二个为列 figsize参数可以指定整个画布的大小 share...

dittoshining的博客 1196

Matplotlib数据可视化实操--axes()及其类函数和subplot()、subplots()、subplot2grid()用法说明

对axes()函数及其类函数和subplot()、subplots()、subplot2grid()函数的用法进行说明并通过实例进行直观展示效果

tore007的博客 4817

骗分导论 CSP、NOIP、蓝桥杯、PAT、USACO等竞赛的算法骗分技巧 轻松省三

问题来了,那么多座桥,炸一座就破坏岛屿的联系,可能性微乎其微(除非特别设计数据)。它们的价值极大,不仅能初步帮你检验程序的对错,而且,如果你不会做这道题,你就可以直接输出样例!在OI考试中最后难的题数据最后的几个,他们往往不会创造新的数据,此时就可以直接输出最后几个数据了。需要运用《骗分导论》第3章中学到的知识,先写出朴素算法,然后造一些数据,可能就会发现规律。有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。据说,在NOIP2013中,有人最后一题不会,愤然打了个随机数,结果得了。

星卯教育-信奥教练tony 6403

OpenClaw与Ollama本地AI部署指南

AI模型本地化部署是当前企业数字化转型的关键技术,通过开源框架Ollama可以在消费级硬件上运行大语言模型。本文以OpenClaw多智能体系统为例,详解从环境配置到模型优化的全流程实践,特别针对国内开发者遇到的网络问题提供了镜像加速等解决方案。这种私有化部署方案尤其适合金融数据分析、企业知识管理等对数据安全要求高的场景,通过模块化设计实现多智能体协作,同时保持对NVIDIA显卡和普通CPU的兼容性。

weixin_34302561的博客 396

Matlab中axis函数使用

axis函数的功能是设置坐标轴范围和纵横比。

jk_101的博客 3万+

【SAP PO】SAP PO 接口配置完整教程之二REST服务对接

SAP PO 接口配置完整教程之二REST服务对接

XLevon的博客 1万+

【matplotlib绘图】matplotlib.pyplot与axes的关系

最近在学习数据可视化,梳理一下其中一些诸如pandas绘图、matplotlib绘图、pyplot(plt)、axes等概念。 重要的事情说三遍:axes不是axis!axes不是axis!axes不是axis! 重要的事情说三遍:pyplot是接口不是对象!pyplot是接口不是对象!pyplot是接口不是对象!

Room221技术笔记 8695

3GPP协议解读_NTN系列(一)_38.811_非地面网络(NTN)的背景、应用场景和信道建模

非地面网络覆盖广,对物理攻击和自然灾害有一定的抵抗性。本文根据3GPP协议对NTN网络的背景、应用场景和信道模型进行了整理。

JCMLSY的博客 4925

Android11,无障碍服务模拟多手势使用dispatchGesture时总是onCancelled

AccessibilityService的dispatchGesture去模拟多手势,总是onCancelled的一种解决办法

m0_49953943的博客 2102

【matplotlib】 图解pyplot figure、subplot、axes、axis的区别

图解matplotlib.pyplot figure、subplot、axes、axis的区别 基本概念 用matplotlib.pyplot绘图需要知道以下几个概念: 画图板/画布:这是一个基础载体,类似实际的画图板,用pyplot.figure()函数创建,程序中允许创建多个画图板,具体操作的画板遵循就近原则(操作是在最近一次调用的画图板上实现),缺省条件下内部默认调用pyplot.fi...

zhuhua造轮子的博客 1万+

科研问答:医药类本科生(临床、中医、中药与护理)本科阶段是否需要开展科研学习?

医药类本科生(临床、中医、中药与护理)本科阶段是否需要开展科研学习?

MD Code 1507

Matplotlib(Pyplot模块)

参数:rect:位置和尺寸,格式通常为 [leftbottomwidthheight],值在0到1之间,表示相对于图形尺寸的比例。left:距figure左边界的比例 bottom:底部边界的比例width:宽 height:高**kwargs传递给Axes构造函数的额外参数。返回值:Axes对象。

2503_92739857的博客 1625

【DRAM存储器五十五】LPDDR5介绍--command bus training

本文详细介绍了LPDDR5命令总线训练(CBT)的两种模式操作流程。在启用ODT进行高频/中频操作前,必须对命令总线进行训练,包括调整VREF(CA)电压和CA/CS信号时序。两种模式的主要区别在于VREF(CA)设置方式:模式1通过MR12直接设置,模式2通过DMI[0]引脚捕获DQ[6:0]数据更新MR12。训练流程涉及频率切换、模式寄存器配置、pattern发送及结果采样等步骤,最终确定最佳VREF(CA)和时序参数。文章还分析了不同PHY实现可能存在的差异,如训练pattern生成方式和采样次数等。

highman110的博客 648

5.3-集群电源模式解析

DSU-120 DynamIQ™集群支持9种电源模式,包括正常运行(ON)、完全断电(OFF)、三种数据保持模式(FUNC_RET、FULL_RET、MEM_RET)、两种调试模拟模式(OFF_EMU、MEM_RET_EMU),以及系统恢复模式(WARM_RST、DBG_RECOV)。这些模式通过智能管理电源状态,在保持数据完整性的同时实现功耗优化,并为系统调试和故障恢复提供支持。不同模式在RAM保持、逻辑断电和调试能力方面各有侧重,满足从正常运行到深度调试等不同场景需求。

baron-周贺贺-代码改变世界ctw 116

【python数据可视化笔记】——matplotlib.pyplot()

目 录 1  %matplotlib inline2  matplotlib图例中文乱码以及坐标负号显示2.1  快速解决办法2.2  永久解决办法2.2.1  找到自己想要的中文字体2.2.2  把字体复制到matplotlib的字体文件中2.2.3  重...

孙悟充的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

matplotlib.pyplot.axis()与matplotlib.pyplot.axes()结构及用法

matplotlib.pyplot.axis() 官方文档 matplotlib.pyplot.axis(*v, **kwargs) 获得或设定axis内容的便利方法。 常用参数: xmin, ymin, xmax, ymax : float, optional The axis limits to be set. Either none or all of the limits mus...

漫步量化 9011

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

matplotlib.pyplot创建子图的方式

一个作图的窗口就是一个Figure, 在Figure上可以有很多个Axes/Subplot,每一个Axes/Subplot为一个单独的绘图区,可以在上面绘图。其中每一个Axes/subplot, 有XAxis,YAxis,在上面可以标出刻度,刻度的范围,以及X、Y轴的标签label。 1. 面向对象的方式 1.1 创建Figure figure(num=None, figsize=No...

prosmail的博客 2894

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

matplotlib之pyplot模块——添加一组子图(subplots)

当前有效matplotlib版本为:3.4.1。 概述 subplots函数的功能是创建一个figure对象和一组子图。 函数的定义签名为:matplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw) 函数的参数为: nrows, ncols : 子图网格的行/列数。可选参数。整数,默认值为1。 sh

mighty13的专栏 3万+

matplotlib之pyplot模块——添加一个子图(subplot)

概述 subplot()函数向当前图像(figure)添加一个子图(Axes),并将该子图设为当前子图。或者将某子图设为当前子图。 pyplot.subplot()其实是Figure.add_subplot()的一个封装。 函数的定义签名为:matplotlib.pyplot.subplot(*args, **kwargs) 函数的调用签名为: subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(**kwargs) su

mighty13的专栏 3万+

matplotlib之pyplot模块——在特定网格位置中添加一个子图(subplot2grid)

当前有效matplotlib版本为:3.4.1。 函数概述 subplot2grid函数的功能是在特定网格位置中添加一个子图。 函数的定义签名为:matplotlib.pyplot.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)。 函数的调用签名为: ax = subplot2grid((nrows, ncols), (row, col), rowspan, colspan) 函数的参数为: shape:定义子图网格的行

mighty13的专栏 3万+

在matplotlib中创建子图的多种方式

在用Matplotlib绘制图像时,有时候需要从多个角度对数据进行对比。为此子图的概念便提了出来,子图可以在较大的图形中同时放置一组较小的坐标轴。这些子图可能是画中画、网格图,或者是其他更复杂的布局形式。 创建子图常用的可以有如下三种方式。 使用add_subplot()面向对象的方式来创建子图 使用面向对象的方式创建子图前,需要创建一个figure对象,如fig = plt.figure()...

Anders's Blog 5882

matplotlib之pyplot模块——清除子图、清除图形、删除子图、设置当前子图(cla()、clf()、delaxes()、sca())

当前有效matplotlib版本为:3.4.1。 cla函数 cla函数的作用是清空当前子图(相当于将当前子图格式化为默认空子图,子图本身并没有被删除)。 函数的定义签名为matplotlib.pyplot.cla()。 调用链为:matplotlib.pyplot.cla()→matplotlib.pyplot.gca().cla(),作用与Axes.clear()相同。 相关源码见matplotlib.axes._base.py 案例:验证cla() 根据输出可知,子图中原有可见元素均被重置为空值或默认

mighty13的专栏 5万+

详解matplotlib隐式pyplot法和显式axes法

Python的matplotlib提供了pyplot隐式方法和显式Axes方法,这让很多人在选择时感到困惑。本文用9000字彻底解析两种方法的区别与适用场景,节选自👉。

qq_21478261的博客 1272

matplotlib之pyplot模块——向子图添加箭头(arrow())

当前有效matplotlib版本为:3.4.1。 概述 arrow()函数的作用是向子图中添加箭头。 函数的签名为matplotlib.pyplot.arrow(x, y, dx, dy, **kwargs)。 函数的参数为: x, y:箭头尾部的坐标。类型为浮点数。必备参数。 dx, dy:箭头在xy方向的长度。类型为浮点数。必备参数。 width:箭头尾部的宽度。类型为浮点数,默认值为0.001。 head_width:完全箭头头部的宽度。类型为浮点数或None,默认值为3*width。 head_l

mighty13的专栏 4万+
上一篇: matplotlib之pyplot模块——在特定网格位置中添加一个子图(subplot2grid)
下一篇: matplotlib之pyplot模块——调整子图布局(subplots_adjust、tight_layout)
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值