matplotlib之pyplot模块实现添加子图subplot的使用


Posted in Python onApril 25, 2021

概述

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()

matplotlib之pyplot模块实现添加子图subplot的使用

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()来完成非等分画布的绘图准备任务。

matplotlib之pyplot模块实现添加子图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()

matplotlib之pyplot模块实现添加子图subplot的使用

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模块实现添加子图subplot的使用的文章就介绍到这了,更多相关matplotlib 添加子图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中常用的各种数据库操作模块和连接实例
May 29 Python
详解Python中DOM方法的动态性
Apr 11 Python
python并发编程之线程实例解析
Dec 27 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
python代理工具mitmproxy使用指南
Jul 04 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
python PIL模块的基本使用
Sep 29 Python
python 可视化库PyG2Plot的使用
Jan 21 Python
Django如何创作一个简单的最小程序
May 12 Python
python实现简单区块链结构
python实现图片九宫格分割的示例
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 #Python
浅谈Python项目的服务器部署
Apr 25 #Python
Python Socket编程详解
Apr 25 #Python
Python Django 后台管理之后台模型属性详解
如何用python反转图片,视频
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
计算机专业自荐信
2013/10/14 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
演讲稿怎么写
2014/01/07 职场文书
老同学聚会感言
2014/02/23 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
授权委托书
2014/07/31 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
Redis中一个String类型引发的惨案
2021/07/25 Redis
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript