目录

前言

前面我们已经知道,一个figure可以画一张画布,今天我们讲的是在同一个figure里画多张子图,我们要用的是subplot与subplot2grid()方法来绘制子图。

(一)subplot()方法

1.语法说明

subplot是均匀的分割绘图区,来进行子图的放置。

  1. 需要注意的是subplot并不适合来绘制跨行或者跨列的子图,跨行与跨列的子图绘制,交给subplot2grid()更容易完成。
  2. 如果分割的图只是个位数时,那么原本的表示方法:(2,2,1),与(221)等效,其他的不可如此。

2.源代码

# 导入模块
import matplotlib.pyplot as plt
import numpy as np # 数据
x = np.linspace(-10, 10, 100)
y1 = x
y2 = x**2
y3 = x**3 # 创建一个figure窗体
fig = plt.figure(num="子图得比较")
fig.suptitle("draw some subplot") # 绘制第一个子图
ax1 = plt.subplot(2, 2, 1)
plt.plot(x, y1)
ax1.set_title("y1 = x") # 绘制第二个子图
ax2 = plt.subplot(222)
plt.plot(x, y2)
ax2.set_title("y2=x**2") # 绘制第三个子图
ax3 = plt.subplot(223)
plt.plot(x, y3)
ax3.set_title("y3=x**3") # 展示
plt.show()

3.输出效果

(二)subplot2grid方法

1.语法说明

subplot2grid((分割),(起始位置),colspan=列宽, rowspan=行宽)

例如:plt.subplot2grid((3, 3), (1, 0), colspan=2, rowspan=1),

将整块figure画布分成3行3列的格子,从第2行,第一列画起该子图,列宽占两格,行宽占一格。

像figure一样,定义subplot2grid()子图以后,后续的操作都在该子图上,直到另一个子图的出现。

2.源代码

import matplotlib.pyplot as plt

# 创建画布
plt.figure()
# 创建子图
ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3, rowspan=1)
ax1.plot([1, 2], [1, 2])
ax1.set_title("No1")
ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2, rowspan=1)
ax3 = plt.subplot2grid((3, 3), (1, 2), colspan=2, rowspan=2)
ax4 = plt.subplot2grid((3, 3), (2, 0), colspan=1, rowspan=1)
ax5 = plt.subplot2grid((3, 3), (2, 1), colspan=1, rowspan=1) plt.show()

3.展示效果

作者:Mark

日期:2019/02/01 周五

4.9Python数据处理篇之Matplotlib系列(九)---子图分布的更多相关文章

  1. 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制

    目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...

  2. 4.13Python数据处理篇之Matplotlib系列(十三)---轴的设置

    目录 目录 前言 (一)设置轴的范围 1.同时对于x,y轴设置 2.分别对与x,y轴的设置 (二)设置刻度的大小 1.普通的刻度设置 2.添加文本的刻度设置 3.主副刻度的设置 (三)设置轴的数据 1 ...

  3. 4.12Python数据处理篇之Matplotlib系列(十二)---绘图风格的介绍

    目录 目录 前言 (一)不同风格 1.说明: 2.使用: 3.代码使用: (二)例子演示 1.dark_background 2.bmh 3.fivethirtyeight 4.ggplot 5.gr ...

  4. 4.11Python数据处理篇之Matplotlib系列(十一)---图例,网格,背景的设置

    目录 目录 前言 (一)图例legend 1.默认不带参数的图例 2.添加参数的图例 3.将图例移动到框外 (二)网格grid 1.说明 2.源代码: 3.输出效果 (三)背景axses 1.设置全局 ...

  5. 4.10Python数据处理篇之Matplotlib系列(十)---文本的显示

    目录 目录 前言 (一)中文显示 ==1.全局的设置== ==2.局部的设置== (二)文本显示 目录 前言 今天我们来学习一下文本的显示 (一)中文显示 ==1.全局的设置== (1)说明: 在ma ...

  6. 4.8Python数据处理篇之Matplotlib系列(八)---Figure的学习

    目录 目录 前言 (一)figure()方法的定义 (二)figure()方法的参数 (三)figure()方法的例子 1.多窗体绘图: 2.窗口得分别率 目录 前言 今天我们来学习一下plt.fig ...

  7. 4.7Python数据处理篇之Matplotlib系列(七)---matplotlib原理分析

    目录 目录 前言 (一)总框架分析 (二)函数式的绘图 1.说明: 2.函数绘图的缺优点 3.绘图类的函数 4.操作类的函数 5.例子: (三)面向对象式的绘图 1.基本概念 2.基本对象 3.面向对 ...

  8. 4.6Python数据处理篇之Matplotlib系列(六)---plt.hist()与plt.hist2d()直方图

    目录 目录 前言 (一)直方图 (二)双直方图 目录 前言 今天我们学习的是直方图,导入的函数是: plt.hist(x=x, bins=10) 与plt.hist2D(x=x, y=y) (一)直方 ...

  9. 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图

    目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...

随机推荐

  1. TensorFlow中的通信机制——Rendezvous(一)本地传输

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 在TensorFlow源码中我们经常能看到一个奇怪的词——Rendezvous ...

  2. Python爬虫之足球小将动漫(图片)下载

      尽管俄罗斯世界杯的热度已经褪去,但这届世界杯还是给全世界人民留下了无数难忘的回忆,不知你的回忆里有没有日本队的身影?本次世界杯中,日本队的表现让人眼前一亮,很难想象,就是这样一只队伍,二十几年还是 ...

  3. sql多表数据查询

    有时候在sql遇到一次查询多张表的全部数据例如:创建一张虚拟表A ,表A中需要有表B和表C的全部数据(表B和表C并集,如图) 有两种方法一种是使用: 1):union,不过这种查询速度比较慢 /* B ...

  4. [转]Docker和Rancher的安装与基本使用

    本文转自:https://blog.csdn.net/wangshouhan/article/details/80405672 一.Docker1.CentOS下Docker安装 安装 $ yum - ...

  5. team项目学习01

    项目里面有好多单词不理解.先查一下. authorize:授权,批准 controller:控制器 domain:领域,域 form:表格,形式,窗体 interceptor 拦截器,自定义动画渲染器 ...

  6. MySQL事务(学习笔记)

    MySQL事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事 ...

  7. Python 字符串拼接 sql ,造成 sql 注入例子

    简单的 userinfo 表 字符串拼接 sql import pymysql # 测试环境的数据库连接 conn = pymysql.connect(host='192.168.0.214', po ...

  8. OSI 七层,TCP 四层 , TCP 五层模型介绍

    以 TCP 四层模型为例,介绍对应的物理设备 传输层: 四层交换机,四层路由器 网络层: 路由器,三层交换机 数据链路层: 网桥,以太网交换机,网卡 物理层: 中继器,集线器,双绞线 各层功能介绍 物 ...

  9. CSS3效果:波浪效果

    实现效果 如图所示: 首先得准备三张图,一张是浅黄色的背景图loading_bg.png,一张是深红色的图loading.png,最后一张为bolang.png. css代码 body{backgro ...

  10. 如何用ABP框架快速完成项目(8) - 用ABP一个人快速完成项目(4) - 能自动化就不要手动 - 使用自动化测试(BDD/TDD)

    做为一个程序员, 深深知道计算机自动化的速度是比人手动的速度快的, 所以”快速”完成项目的一个重要武器就是: 能自动化就不要手动.   BDD/TDD有很多优势, 其中之一就是自动化, 我们这节文章先 ...