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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
python执行外部程序的常用方法小结
Mar 21 Python
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
python获取当前日期和时间的方法
Apr 30 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
python 通过可变参数计算n个数的乘积方法
Jun 13 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
python 协程中的迭代器,生成器原理及应用实例详解
Oct 28 Python
Django REST framwork的权限验证实例
Apr 02 Python
在keras中实现查看其训练loss值
Jun 16 Python
python 多线程死锁问题的解决方案
Aug 25 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 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 不使用js实现页面跳转
2014/02/11 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
js实现楼层导航功能
2017/02/23 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
Python字符遍历的艺术
2008/09/06 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python django生成迁移文件的实例
2019/08/31 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
最新销售员个人自荐信
2013/09/21 职场文书
文明礼仪事迹材料
2014/01/09 职场文书
开业典礼主持词
2014/03/21 职场文书
给校长的建议书200字
2014/05/16 职场文书
化妆品活动策划方案
2014/05/23 职场文书
兽医医药专业求职信
2014/07/27 职场文书
培训讲师开场白
2015/06/01 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python
Mysql事务索引知识汇总
2022/03/17 MySQL
Elasticsearch 索引操作和增删改查
2022/04/19 Python