Matplotlib subplot2grid()函数详解

matplotlib.pyplot 模块提供了 subplot2grid() ,该函数能够在画布的特定位置创建 axes 对象(即绘图区域)。不仅如此,它还可以使用不同数量的行、列来创建跨度不同的绘图区域。与 subplot() 和 subplots() 函数不同,subplot2gird() 函数以非等分的形式对画布进行切分,并按照绘图区域的大小来展示最终绘图结果。

函数语法格式如下:

plt.subplot2grid(shape, location, rowspan, colspan)

参数含义如下:

shape:把该参数值规定的网格区域作为绘图区域;
location:在给定的位置绘制图形,初始位置 (0,0) 表示第1行第1列;
rowsapan/colspan:这两个参数用来设置让子区跨越几行几列。

下面,在画布(figure)中添加了行、列跨度均不相同的绘图子区域,然后在每个绘图区上,绘制不同的图形。示例代码如下:

import matplotlib.pyplot as plt
#使用 colspan指定列,使用rowspan指定行
a1 = plt.subplot2grid((3,3),(0,0),colspan = 2)
a2 = plt.subplot2grid((3,3),(0,2), rowspan = 3)
a3 = plt.subplot2grid((3,3),(1,0),rowspan = 2, colspan = 2)
import numpy as np
x = np.arange(1,10)
a2.plot(x, x*x)
a2.set_title('square')
a1.plot(x, np.exp(x))
a1.set_title('exp')
a3.plot(x, np.log(x))
a3.set_title('log')
plt.tight_layout()
plt.show()

输出结果如下:

图1:subplot2grid()输出结果

Matplotlib subplot2grid()函数详解相关推荐

  1. python plt.subplot_Python Matplotlib subplot函数详解:创建子图

    使用 Matplotlib 除可以生成包含多条折线的复式折线图之外,它还允许在一张数据图上包含多个子图. 调用 subplot() 函数可以创建一个子图,然后程序就可以在子图上进行绘制.subplot ...

  2. python数据可视化-matplotlib之散点图sactter函数详解

    本文转载自-[数字的可视化:python画图之散点图sactter函数详解] 感谢博主-hefei_cyp的博客 最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是 ...

  3. Python Matplotlib 3D绘图详解(汇总)

    Python Matplotlib 3D绘图详解(汇总) 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为 ...

  4. NetworkX画图:nx.draw_networkx(函数详解)

    NetworkX画图:nx.draw_networkx(函数详解) draw_networkx(G, pos=None, arrows=True, with_labels=True, **kwds) ...

  5. Python+NetworkX画图的nx.draw_networkx(函数详解)

    Python+NetworkX画图的nx.draw_networkx函数详解 Python+NetworkX画图的nx.draw_networkx(函数详解) Python+NetworkX画图的nx ...

  6. plt.plot()函数详解

    plt.plot()函数详细介绍 plt.plot(x, y, format_string, **kwargs) 参数 说明 x X轴数据,列表或数组,可选 y Y轴数据,列表或数组 format_s ...

  7. cv2.fitEllipse函数详解:ellipse参数并根据参数计算出椭圆焦点坐标

    cv2.fitEllipse函数详解:ellipse参数并根据参数计算出椭圆焦点坐标 最近因为用到了这个函数,所以就趁着这个机会,好好顺顺,做下记录. ellipse = cv2.fitEllipse ...

  8. OpenCV 图像卷积:cv.filter2D() 函数详解

    API 照例,我们搬一下官网的 API: C++ void cv::filter2D(InputArray src,OutputArray dst,int ddepth,InputArray kern ...

  9. C语言网络编程:accept函数详解

    文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...

最新文章

  1. C++/CLI思辨录之内部指针的两面性
  2. C++学习 之 fill和memeset的区别
  3. 微信公众号手机无法直接下载APK文件是怎么回事
  4. 【数据结构与算法】之深入解析“四数之和”的求解思路与算法示例
  5. step3 . day2 数据结构之线性表链表
  6. 【bzoj5107】[CodePlus2017]找爸爸 dp
  7. 《.NET Core 和前后端那些事儿》技术交流活动纪实
  8. python中浮点数类型_Python基本数据类型之浮点型
  9. db_mysql.so_MySQL登陆时提示找不到到libmysqlclient.so.15
  10. Spring实战(第4版)阅读笔记(一)
  11. [Java] 用java写的植物大战僵尸辅助
  12. RabbitMQ入门篇、介绍RabbitMQ常用的五种模式
  13. 【译文】利用STAN做贝叶斯回归分析:Part 1 正态回归
  14. 在Windows电脑上修改图片内存大小的方法
  15. 作为一个准研究生,怎样才能在研究生阶段不虚度?
  16. 【常见错误 error】Vivado SDK在启动程序时显示cannot stop MicroBlaze.MicroBlaze is held in reset 问题解决办法
  17. 2012年终全球IT企业市值TOP25排行榜
  18. 2023年上半年网络工程师下午真题及答案解析
  19. 你又回来啦、你别走吖等网页动态标题代码
  20. python 机器人聊天_使用python构建您的第一个聊天机器人并将其集成到电报中

热门文章

  1. 认识Spring(上)
  2. 所有都是信息?——信息简史
  3. qq打开网页时提示用浏览器打开html,微信QQ打开网页时提示用浏览器打开
  4. 关于父进程和子进程的关系
  5. labview入门到出家9(进阶)——串口通讯
  6. 如何在阿里云以外的服务器上安装安骑士
  7. 孙鑫Java无难事零基础入门
  8. IOS逆向--iOSOpenDev进行开发tweak
  9. 如何用计算机输入数学符号,有什么好用的能输入数学符号的编辑器推荐?
  10. 两台电脑之间Sql Server数据库的链接配置