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实现挑选出来100以内的质数
Mar 24 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 Python
python基础教程项目三之万能的XML
Apr 02 Python
python3实现域名查询和whois查询功能
Jun 21 Python
python 文件转成16进制数组的实例
Jul 09 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
Python常用特殊方法实例总结
Mar 22 Python
python返回数组的索引实例
Nov 28 Python
PyCharm2019 安装和配置教程详解附激活码
Jul 31 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数据库编程之MySQL优化策略概述
2017/08/16 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
Python字符转换
2008/09/06 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
简单谈谈python中的多进程
2016/11/06 Python
python获取txt文件词向量过程详解
2019/07/05 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
python django生成迁移文件的实例
2019/08/31 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
python设置中文界面实例方法
2020/10/27 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
高中生毕业自我鉴定范文
2013/12/22 职场文书
保护环境的建议书
2014/03/12 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
爱国口号
2014/06/19 职场文书
车间核算员岗位职责
2014/07/01 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
单位考核聘任报告
2015/03/02 职场文书
党小组意见范文
2015/06/08 职场文书
导游词之无锡梅园
2019/11/28 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
Python实现拼音转换
2021/06/07 Python