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常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
Pytorch之contiguous的用法
Dec 31 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
Python tcp传输代码实例解析
Mar 18 Python
django queryset相加和筛选教程
May 18 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图片上传代码
2013/11/04 PHP
php的ddos攻击解决方法
2015/01/08 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
python逆向入门教程
2018/01/15 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
个人找工作求职简历的自我评价
2013/10/20 职场文书
拓展培训心得体会
2014/01/04 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
服装创业计划书范文
2014/02/05 职场文书
安全生产计划书
2014/05/04 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
投诉书范文
2015/07/02 职场文书