matplotlib子图绘制

文章目录

    • 子图
    • 组合网格布局
    • GridSpec

matplotlib教程: 初步

子图

从绘图流程出发,【plt】图像有三个层级,依次是窗口、坐标系以及图像。在一个坐标系中可以有多条曲线,即表示多个图像;相应地在一个窗口中,也应该可以容纳多组坐标系,每组坐标便是一个子图。

子图可调用窗口的方法add_subplot来添加,子图位置则用三元组来约束,例如 ( 1 , 2 , 1 ) (1,2,1) (1,2,1)表示一行、两列坐标系中的第一个图像,注意这里下标从1开始,示例如下。

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(100)/10
ys = [np.sin(x), np.cos(x)]fig = plt.figure("subgraphs")
for i in range(2):ax = fig.add_subplot(1,2,i+1)ax.plot(x, ys[i])plt.show()

在这里插入图片描述

【plt】中提供了subplots函数可同时生成窗口及其所有子图对象,只需输入一个二元组 ( m , n ) (m,n) (m,n),即可生成 m × n m\times n m×n个子图,故而上图也可通过下面的代码来绘制

fig, axes = plt.subplots(1,2)
axes[0].plot(x, ys[0])
axes[1].plot(x, ys[1])
plt.show()

如果想省略窗口这一步骤,那么可以采取如下方案,即plt.subplot会在当前默认窗口中生成子图,并把这个子图作为用来绘图的坐标系。

for i in range(2):plt.subplot(1,2,i+1)plt.plot(x, ys[i])plt.show()

组合网格布局

subplot中的网格,并不是一个真实的网格,而只是一种划分地盘的方式。换言之,多个子图,可以通过不同的方式来布局。例如下面的组合

  • A (1,2,1) 1行2列,第一个图,即占据整个图窗的左侧
  • B (2,2,2) 2行2列,第2个图,位于图窗的右上角
  • B (2,2,4) 2行2列,第4个图,位于图窗的右下角
plt.subplot(1,2,1)
plt.title("A")
plt.subplot(2,2,2)
plt.title("B")
plt.subplot(2,2,4)
plt.title("C")
plt.show()

在这里插入图片描述

GridSpec

对于大部分需求,组合网格已经足够强大,但组合网格没法让左侧的A图占据 2 3 \frac{2}{3} 32的宽度。为了实现指定宽度的网格,需要用到GridSpec对象。

GridSpec主要输入4个参数,分别用于划分网格和指定网格尺寸。下面就实现一个可以让A图占据 2 3 \frac{2}{3} 32宽度的子图

gs = plt.GridSpec(2, 2, width_ratios=[2, 1], height_ratios=[1, 1])plt.subplot(gs[:, 0])
plt.title("A")
plt.subplot(gs[0, 1])
plt.title("B")
plt.subplot(gs[1, 1])
plt.title("C")
plt.show()

其中,width_ratios为横向的单元格宽度比例,height_ratios为纵向的单元格高度比例。由整体被划分为 2 × 2 2\times2 2×2网格,所以横向由两组单元格组成,二者宽度只比为2:1,从而实现了左侧A图占据 2 3 \frac{2}{3} 32的绘图窗口,效果如下。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/263457.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wcf 简单实践 数据绑定 数据更新ui

1.概要 2.代码 2.1 xaml <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expr…

一键生成PDF即刻呈现:轻松创建无忧体验

在信息爆炸的时代&#xff0c;我们每天都在与各种文件、资料打交道。无论是工作中的报告、合同&#xff0c;还是学习中的笔记、论文&#xff0c;如何高效、安全地管理这些珍贵的资料&#xff0c;成为了我们迫切的需求。幸运的是&#xff0c;随着科技的发展&#xff0c;我们不再…

java面向对象高级

一、静态 static读作静态&#xff0c;可以用来修饰成员变量&#xff0c;也能修饰成员方法。我们先来学习static修饰成员变量。 1.1 static修饰成员变量 Java中的成员变量按照有无static修饰分为两种&#xff1a;类变量、实例变量。它们的区别如下图所示&#xff1a; 由于静态…

目标跟踪之KCF详解

High-Speed Tracking with Kernelized Correlation Filters 使用内核化相关滤波器进行高速跟踪 大多数现代跟踪器的核心组件是判别分类器&#xff0c;其任务是区分目标和周围环境。为了应对自然图像变化&#xff0c;此分类器通常使用平移和缩放的样本补丁进行训练。此类样本集…

【AI链接】 大模型语言模型网站链接

目录 GPT类1. chatgpt2. GROP3. Google AI Studio4. Moonshot AI (国内) 解读论文类&#xff1a;1. txyz 编程辅助插件&#xff1a;1. Fitten Code GPT类 1. chatgpt https://chat.openai.com/ 2. GROP https://groq.com/ 3. Google AI Studio https://aistudio.google…

爬取m3u8视频

网址&#xff1a;https://www.bhlsm.com/cupfoxplay/609-3-1/ 相关代码&#xff1a; #采集网址&#xff1a;https://www.bhlsm.com/cupfoxplay/609-3-1/ #正常视频网站&#xff1a;完整视频内容 # pip install pycryptodomex #流媒体文件&#xff1a;M3U8&#xff08;把完整的…

在那静谧的冬天你飘落我荒凉心园

北风 - 刘蓝溪/梁弘志 --女--在那静谧的冬天你飘落我荒凉心园恰似北风一袭吹去秋意无限带来几片相思带来往日笑靥只见北风又起撒落枯叶片片--男--在那静谧的冬天你走进我冷漠心田恰似北风一袭吹去秋意无限北风婵媛白云白云本是轻烟只见北风又见带来白云片片--合--喔喔喔 海角…

中国象棋开源人工智能程序(带UI)搬运

我的老父亲一直想买一个人工智能象棋机器人陪他下棋&#xff0c;我就在Github上找了一个开源项目&#xff0c;带UI的中国象棋人工智能程序&#xff0c;其训练方法类似AlphaZero&#xff0c;因而叫Chinese Chess Zero (cczero)。虽然看起来很久没有维护了&#xff0c;但是棋力也…

Linux——静态库

Linux——静态库 静态库分析一下 ar指令生成静态库静态库的使用第三方库优化一下 gcc -I(大写的i) -L -l(小写的l)&#xff0c;头文件搜索路径&#xff0c;库文件搜索路径&#xff0c;连接库 今天我们来学习静态库的基本知识。 静态库 在了解静态库之前&#xff0c;我们首先来…

冯诺依曼体系结构 计算机组成的金字塔

01 冯诺依曼体系结构&#xff1a;计算机组成的金字塔 学习计算机组成原理&#xff0c;到底是在学些什么呢&#xff1f;这个事儿&#xff0c;一两句话还真说不清楚。不过没关系&#xff0c;我们先从“装电脑”这个看起来没有什么技术含量的事情说起&#xff0c;来弄清楚计算机到…

Linux的进程

在Linux中&#xff0c;可以使用多种方式来结束进程。以下是8种常见的方式&#xff1a; 终端中断&#xff08;Ctrl C&#xff09;&#xff1a;在终端中运行的程序可以通过按下Ctrl C组合键来发送SIGINT信号&#xff0c;终止该进程的执行。 kill命令&#xff1a;使用kill命令可…

汉诺塔问题—java详解(附源码)

来源及应用 相传在古印度圣庙中&#xff0c;有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上&#xff0c;有三根杆(编号A、B、C)&#xff0c;在A杆自下而上、由大到小按顺序放置64个金盘(如图1)。游戏的目标&#xff1a;把A杆上的金盘全部移到C杆上&#xff0c;并仍…

fly-barrage 前端弹幕库(2):弹幕内容支持混入渲染图片的设计与实现

如果弹幕内容只支持文字的话&#xff0c;只需要借助 canvas 绘图上下文的 fillText 方法就可以实现功能了。 但如果想同时支持渲染图片和文字的话&#xff0c;需要以下几个步骤&#xff1a; 设计一个面向用户的数据结构&#xff0c;用于描述弹幕应该渲染哪些文字和图片&#x…

学习JAVA的第二天(基础)

目录 基本概念 关键字 class关键字 字面量 练习 变量 定义格式 变量使用 数据类型 基本数据类型 标识符 命名规则 键盘录入 1.导包 2.创建对象 3.接受数据 运算符 算术运算符 练习 隐式转换&#xff08;自动类型提升&#xff09; 强制转换 自增自减运算符 …

【Docker】构建pytest-playwright镜像并验证

Dockerfile FROM ubuntu LABEL maintainer "langhuang521l63.com" ENV TZAsia/Shanghai #设置时区 #安装python3依赖与下载安装包 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \&& apt update \&&…

【Spring MVC篇】简单案例分析

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、加法计算器二…

Windows下搭建EFK实例

资源下载 elasticSearch &#xff1a;下载最新版本的就行 kibana filebeat&#xff1a;注意选择压缩包下载 更新elasticsearch.yml&#xff0c;默认端口9200&#xff1a; # Elasticsearch Configuration # # NOTE: Elasticsearch comes with reasonable defaults for most …

MySQL数据库基础(十三):关系型数据库三范式介绍

文章目录 关系型数据库三范式介绍 一、什么是三范式 二、数据冗余 三、范式的划分 四、一范式 五、二范式 六、三范式 七、总结 关系型数据库三范式介绍 一、什么是三范式 设计关系数据库时&#xff0c;遵从不同的规范要求&#xff0c;设计出合理的关系型数据库&…

5.2.鸿蒙LiteOS-M los_dispatch

目录 一、cortex-m4 los_dispatch.S代码分析坚持就有收获 一、cortex-m4 los_dispatch.S代码分析 .syntax unified #.syntax [unified | divided], 指定arm 汇编语法规则 .arch armv7e-m #指定平台, 与命令行参数-march同样的作用 .fpu fpv4-sp-d16 #指定浮点运算…

week04day02(爬虫02)

<span>: 通常用于对文本的一部分进行样式设置或脚本操作。<a>: 定义超链接&#xff0c;用于创建链接到其他页面或资源的文本。<img>: 用于插入图像。<br>: 用于插入换行。 姓名&#xff1a;<input type"text" value"lisi">…