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

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

当前有效matplotlib版本为:3.4.1。

概述

subplot()函数向当前图像(figure)添加一个子图(Axes),并将该子图设为当前子图。或者将某子图设为当前子图。

pyplot.subplot()其实是Figure.add_subplot()的一个封装。

函数的定义签名为:matplotlib.pyplot.subplot(*args, **kwargs)

函数的调用签名为:
subplot(nrows, ncols, index, **kwargs)
subplot(pos, **kwargs)
subplot(**kwargs)
subplot(ax)

函数的参数为:

  • *args:定义子图的位置。int、 (int, int, index) 或 SubplotSpec, 默认值为(1, 1, 1)

    *args由以下三种定义方式。

    • 三个整数构成的三元组(nrows, ncols, index):首先构成一个nrows行和ncols列的网格,然后将子图添加到对应index索引位置。 index从1开始累计,1为左上角,依次向右递增. index也可以是是一个二元组,例如fig.add_subplot(3, 1, (1, 2))。
    • 三位整数:每一位数字可以分解为单独的整数,因此,这种方法最好用于子图少于9个的情况(index最大只能为9)。比如plt.subplot(235)等价于plt.subplot(2, 3, 5)。
    • SubplotSpec对象:

函数的返回值为:axes.SubplotBase对象或 Axes的其他子类。

案例:规则布局

import matplotlib.pyplot as plt

# 添加3行3列子图中的第1个子图,并将其为当前子图
plt.subplot(331)
plt.bar(range(1,4),range(1,4))
# 添加3行3列子图中的第5个子图,并将其为当前子图
plt.subplot(335)
plt.pie([4,5,6])
# 添加3行3列子图中的第9个子图,并将其为当前子图
# 返回值为Axes对象
ax=plt.subplot(339)
# 使用Axes的方法(面向对象模式)绘制点
ax.plot([1],'o')

plt.show()

在这里插入图片描述

pyplot.plot()源码如下,通过源码可知pyplot模块的函数底层调用的是Axes对象的对应方法。

def plot(*args, scalex=True, scaley=True, data=None, **kwargs):
    return gca().plot(
        *args, scalex=scalex, scaley=scaley,
        **({"data": data} if data is not None else {}), **kwargs)

不规则布局

通常子区函数subplot()用来完成等分画布的绘图展示的任务,如果在画布上需要进行非等分画布的图形展示时,我们可以多次调用函数subplot()来完成非等分画布的绘图准备任务。
在这里插入图片描述

import matplotlib.pyplot as plt

# 绘制1行2列子图中的第1个子图
plt.subplot(121,facecolor='r')
# 绘制2行2列子图中的第2个子图
plt.subplot(222,facecolor='g')
# 绘制2行2列子图中的第4个子图
plt.subplot(224,facecolor='b')

plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt

# 绘制3行2列子图中的第1个子图
plt.subplot(321,facecolor='r')
# 绘制3行2列子图中的第2个子图
plt.subplot(322,facecolor='r')
# 绘制3行2列子图中的第3个子图
plt.subplot(323,facecolor='r')
# 绘制3行2列子图中的第4个子图
plt.subplot(324,facecolor='r')
# # 绘制3行1列子图中的第3个子图
plt.subplot(313,facecolor='b')

plt.show()

subplot()函数有一个非常重要的特性:
在创建新的子图时,如果新建子图与原有的子图存在重叠的情况,那么会删除原有重叠的子图。
例如:

import matplotlib.pyplot as plt
# 绘图时隐含创建subplot(111)
plt.plot([1, 2, 3])
# 创建一个新的子图,由于与原子图重叠,因此删除原有子图
plt.subplot(211)
plt.show()
matplotlib.pyplot绘制子图 import matplotlib.pyplot as plt 当只画1个图时,使用plt(比如plt.line(…))绘制,隐式地创建了一个图形实例和图形对象内部的坐标轴。 在一个图形上画多个子图时,可以显式地调用plt .subplot()来获得Figure对象和Axes对象,以便对它们执行更多的操作。 一、子图 1. 使用plt.subplots绘制均匀状态下的子图 返回元素分别是画布和子图构成的列表,第一个数字为行,第二个为列 figsize参数可以指定整个画布的大小 share... 阅读详情

相关推荐

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2132

plt: subplots()详解

matplotlib.pyplot.subplots()用于一次性创建并返回所有的子图和其 axe 对象。nrows:图表的行数,默认为 1ncols:图表的列数,默认为 1sharex、sharey:设置 x、y 轴共享属性,默认为 False,可设置为‘True’。False即 每个子图的 x 轴或 y 轴独立;True 即所有子图共享 x 轴或 y 轴subplot_kw:向每个子图传递一个字典,这个字典包含了创建子图时想要应用的额外关键字参数。

2301_77444219的博客 3989

“迎圣诞,拿大奖” 活动赛题 Web-SQLi

1. php中sprintf()函数漏洞原理及其利用; 2. mysql盲注语法及python脚本; 3. sqlmap的需要进一步学习;

qq_34106499的博客 674

数学建模--Subplot绘图的Python实现

数学建模--Subplot绘图的Python实现

m0_71819746的博客 1万+

病理组学分析系列教程1:使用Python-histolab进行病理图像预处理,tiles切片自动生成

病理图像tiles自动生成,WSI图像预处理

qq_43449643的博客 1741

从《新程序员》系列看程序员职业发展趋势与成长路径

在信息技术日新月异的当下,软件开发行业蓬勃发展,程序员作为行业的核心力量,其成长与发展路径备受瞩目。《新程序员》系列杂志应运而生,以其前瞻性的视角、丰富多元的内容,为广大程序员尤其是新程序员提供了洞察行业趋势、学习前沿技术、汲取前辈经验的宝贵窗口。该系列杂志由优快云精心打造,自推出以来,便在开发者群体中引发了强烈反响。《新程序员》系列内容涵盖了从基础技术知识的深入解读,到行业前沿趋势的精准预测;从优秀开发者的成长历程分享,到各大企业数字化转型的实践案例剖析等多个维度。

AllenLV的博客 2254

pyplot中的subplot函数说明

pyplot的绘图区域 plt.subplot(nrows,ncols,plot_number) * nrows 横轴分成的区域 * ncols 纵轴分成的区域 * plot_number 当前的绘图区 import numpy as np import matplotlib.pyplot as plt a = [1,5,6,7,9,2] b = [6,4,3,1,8,2] plt.ylabe...

lucklydog123的博客 5390

(第14天)Veritas NetBackup(NBU) 配合 RMAN 脚本备份 Oracle 数据库

NBU(Veritas Netbackup)是企业中比较常用的备份软件,通常用于备份企业使用中的系统,数据库,文件等等,通常是搭配 Oracle RMAN 来进行备份 Oracle 数据库。

LuciferLiu_DBA 1642

【源码】【替代subplot函数】可任意调节坐标轴边缘及间距的tight_subplot函数

MATLAB中的subplot函数在坐标轴周围会留下太多的空白区域,很多时候我们并不希望如此。 tight_subplot函数允许调节各图坐标轴之间的距离、同时可以调节坐标轴周围的空白区域大小。 [ha, pos] = tight_subplot(Nh, Nw, gap, marg_h, marg_w) 变量说明: Nh 垂直向的坐标轴个数 Nw 水平向的坐标轴个数 gap [gap_h gap...

weixin_42825609的博客 3205

IEC61850规约客户端软件开发实战(第六章)

IEC 61850标准中的GOOSE(Generic Object Oriented Substation Event,面向通用对象的变电站事件)功能是变电站自动化系统的核心通信机制,主要用于实现智能电子设备(IED)间高可靠性、低延时的实时信号传输。本章简述其核心功能与技术特点。

半青年的博客 1777

PCL 计算点云包围球【2025最新版】

包围球通常用于简单排斥,因为与球体相交的方程很简单,同样重要的是,旋转一个球体并不会改变其范围。因此,当包围球用于简单排斥时,如果球体中心是对象的原点,则可以忽略对象的方向。

点云侠的博客 2068

添加子图以及子图操作

数据集以及导入数据的工作见 https://blog.csdn.net/xpy870663266/article/details/89298927 #之前已调用 %matplotlib In [74]: fig=plt.figure() #效果是生成一个空白的图像 In [75]: ax1=fig.add_subplot(141) #给fig添加一个子图,将其放置在1行4列的第1个位置(从1数起...

pyxiea 1618

【第一章】基于Simulink的控制器开发教程——目录

摘要:本文系统介绍了基于Simulink的控制器开发方法,涵盖PID、状态反馈、模型预测(MPC)、模糊控制、自适应控制等8类主流控制器。针对每种控制器,详细阐述了其基本原理、适用场景,并通过Simulink建模与仿真测试进行实践验证。文章采用"理论+实践"的结构,从算法设计到硬件实现全流程展开,为汽车、航空航天、工业控制等领域的控制器开发提供完整解决方案,最后通过应用对比与学习总结帮助读者掌握不同控制器的核心特性和应用场景。(149字)

熟悉MATLAB/fpga/RK3588/LABVIEW/protus/单片机/dsp/Multisim 385

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万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Python Matplotlib绘图库:matplotlib之pyplot模块添加一个子图subplot(二)

Python Matplotlib绘图库:matplotlib之pyplot模块添加一个子图subplot 原理分析

C++ JAVA的专栏 1265

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python Matplotlib绘图库:matplotlib之pyplot模块添加一个子图subplot(一)

Python实际应用:数据可视化,制作汽车销售数据表格

C++ JAVA的专栏 606

python的matplotlib的函数_Python matplotlib包函数的使用

matplotlib在python下一般使用matplotlib包下的pyplot,所以在import的时候:一般import matplotlib.pyplot as plt方便使用它的绘图函数。show()函数:显示绘图窗口,把要画的图显示在窗口中。subplot()函数:用于添加子图像,参数有三个,分别是子图像的行、列、索引。可以这样使用:subplot(numbRow , numbCol ...

weixin_39804631的博客 144

python自主学习——Matplotlib基础

域、表示一条线或为图形添加标签等。函数不仅可以将图形分为不同的绘图区域,还能激活特定子图,以便用命令控制它。pyplot 还具有状态性特性,它能跟踪当前图形和绘图区域的状态。调用函数时,函数只对当前图形起作用。...

qq_51142828的博客 282

python用matplotlib画图

1.使用pyplot模块画图。import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x**2) plt.figure(figsize=(8, 5)) plt.plot(x, y, label="$sin(x)$", color="red", li

qq_34535410的博客 3466

Matplotlib中pyplot核心功能实操指南

Matplotlib是Python主流数据可视化库,提供类似MATLAB的API接口。核心特点包括:1)简洁API设计,支持线图、散点图、条形图、饼图等基础图形;2)高度可定制化,可调整颜色、标记、线型等样式参数;3)完善的布局管理,支持GridSpec非均匀子图布局;4)支持中文显示和多种格式输出。使用流程为:导入pyplot模块→创建Figure对象→添加子图→绘制图形→样式调整→显示/保存。关键技巧包括配置中文字体、高清保存图片、合理使用布局调整等。该库广泛应用于科学计算和数据分析领域。

qq_73507429的博客 1018

python基础与大数据_Python大数据基础与实战第10章数据可视化.pptx

; 第十章 数据可视化技术;;10.1pyplot绘图基本流程;10.1 pyplot绘图基本流程;10.1 pyplot绘图基本流程; Matplotlib提出了Object Container概念,它有Figure、Axes、Axis和Tick四种类型的对象容器。 Figure负责图像大小、位置等操作。 Axes负责坐标系的位置、绘图等操作...

weixin_39600291的博客 201

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

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

zhuhua造轮子的博客 1万+

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

画子图(add_subplot & subplot)

Matplotlib对象简介    FigureCanvas  画布    Figure        图    Axes          坐标轴(实际画图的地方) 注意,pyplot的方式中plt.subplot()参数和面向对象中的add_subplot()参数和含义都相同。 使用面向对象的方式 #!/usr/bin/python #coding:

You_are_my_dream的博客 7万+

matplotlib绘制子图 subplot

1.绘制子图 使用subplot() 方法,subplot()方法传入numrows,numcols,fignum参数:fignum范围是 1 到numrows*numcols import matplotlib.pyplot as plt import numpy as np x=np.linspace(0.0, 5.0, 50) y1 = np.sin(x) y2 = np.exp(x) *...

庸木自琢 1743

【Python_Matplotlib学习笔记(一)】pyplot模块的基本用法

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形(来自:百度百科)。pyplot 模块是 Matplotlib 模块提供的快速绘图模块,它模仿了 MATLAB 的部分功能。

禾戊之昂的博客 1万+
上一篇: matplotlib:为饼图或圆环图添加引导线
下一篇: matplotlib之pyplot模块——添加一组子图(subplots)
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值