[python] matplotlib.pyplot 绘制高宽不同、多行多列子视图

news2025/2/23 1:38:21

假如我们想要绘制这样的效果:

方式1

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

# 声明一个GridSpec对象实例,创建的是6行2列的图像布局。
grid = plt.GridSpec(nrows=6, ncols=2, wspace=0.2, hspace=0.2)

# 设置整个图像大小。
plt.figure(figsize = (12, 10))  
# 第1个子视图 占第一行
plt.subplot(grid[0, :])  
plt.hist(np.random.rand(50), orientation='horizontal', edgecolor = 'black')

# 第2个子视图 占第二行
plt.subplot(grid[1, :])  
plt.scatter(np.random.rand(100),np.random.rand(100), color = 'r', edgecolor = 'black')

# 第3个子视图 占第三行
plt.subplot(grid[2, :])
plt.plot(np.arange(10), np.random.rand(10))

# 第4个子视图 占第四、五行 第一列
plt.subplot(grid[3:5, 0])
plt.plot(np.arange(10), np.arange(10) ** 2)
# 第5个子视图 占第四、五行 第二列
plt.subplot(grid[3:5, 1])
plt.plot(np.arange(8), -np.arange(8) ** 2)

# 第6个子视图 占第六行
plt.subplot(grid[5, :])
plt.plot(np.arange(10), np.random.rand(10))

plt.show()

方式2:

在上面做一点点修改,记住每个子视图,方便以后的操作,建议使用这种方式。

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np

# 声明一个GridSpec对象实例,创建的是6行2列的图像布局。
grid = plt.GridSpec(nrows=6, ncols=2, wspace=0.2, hspace=0.2)

# 设置整个图像大小。
plt.figure(figsize = (12, 10))  
# 第1个子视图 占第一行
axes0 = plt.subplot(grid[0, :])  
axes0.hist(np.random.rand(50), orientation='horizontal', edgecolor = 'black')

# 第2个子视图 占第二行
axes1 = plt.subplot(grid[1, :])  
axes1.scatter(np.random.rand(100),np.random.rand(100), color = 'r', edgecolor = 'black')

# 第3个子视图 占第三行
axes2 = plt.subplot(grid[2, :])
axes2.plot(np.arange(10), np.random.rand(10))

# 第4个子视图 占第四、五行 第一列
axes3 = plt.subplot(grid[3:5, 0])
axes3.plot(np.arange(10), np.arange(10) ** 2)
# 第5个子视图 占第四、五行 第二列
axes4 = plt.subplot(grid[3:5, 1])
axes4.plot(np.arange(8), -np.arange(8) ** 2)

# 第6个子视图 占第六行
axes5 = plt.subplot(grid[5, :])
axes5.plot(np.arange(10), np.random.rand(10))

plt.show()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东618 :AI总裁数字人、京东Apple Vision Pro版亮相

2004年6月18日,刚刚转型电商才半年的京东,用最互联网的方式为忠实粉丝打造了一场价格降到“难以置信”的店庆促销活动,这场促销活动还有一个很具有当年网络小说特质的名字——“月黑风高”。 2024年京东618,早已成为一场亿万消费…

【只是查漏补缺】关于动力节点2024版java新课程

反编译命令 javap进行反编译操作,例如:javap Test;使用jd-gui.exe来实现反编译。 二进制数据是采用0和1来表示,则换算单位肯定为2的n次方,而2的10次方恰好等于1024,所以就使用了1024来作文文件存储的换算单…

Erlang程序设计[Part1-Part2 chapter4]

前言: 环境安装 Erlang Shell,CSDN搜教程 Erlang Shell实操 启动 erl Erlang Shell以表达式为执行单位? 结束标志 .加上回车 Part1 为何用 Erlang chapter 1 什么是并发 并发vs并行 并发 单核cpu运行多个进程 一次运行一个 并行 多…

批量导出兜底回复对话,迭代优化聊天机器人 | Chatopera 云服务

持续优化知识库 聊天机器人的知识库,对话技能,需要长期的优化。这是因为,一方面,初期上线的机器人所依赖的数据量通常有限;另一方面,市场不断变化,客户产品新的问题。 上线聊天机器人的目的之…

MyBatis Plus Generator代码生成

一、MyBatis Plus Generator MyBatis Plus是一个功能强大的持久层框架,它简化了MyBatis的使用,提供了许多便捷的功能。其中,MyBatis Plus Generator是一个强大的代码生成器,可以帮助我们快速地根据数据库表结构生成对应的实体类、…

怎么控制多个存储设备的访问权限?数据安全存储方案来了

数据安全存储是指将数据以安全的方式存储在存储系统中,以确保数据的机密性、完整性和可用性。要控制数据安全存储的权限以保障安全,可以采取以下措施: 访问控制列表(ACLs):使用ACLs来定义对存储数据的访问权…

丹麦海外媒体报道:媒体投放发稿助力企业在海外扭转战局

大舍传媒 丹麦海外媒体报道中,大舍传媒作为一家专业的媒体投放公司,正发挥着重要作用,帮助企业在海外扭转战局。作为丹麦领先的媒体投放机构,他们为企业提供了全方位的品牌传播服务,帮助企业在海外市场取得成功。 大舍…

MySQL 架构

本篇主要介绍一下MySQL的架构 目录 一、整体架构 二、连接层 网络端口 连接管理线程 三、服务层 NoSQL接口与SQL接口 Parser(语法分析器) Optimizer(查询优化器) Cache & Buffers(缓存) 四、存储引擎层…

可复用验证的测试用例 5大编写技巧

编写可复用验证的测试用例,节省了编写新测试用例的时间和资源,提高了测试效率和项目质量,减少错误修复成本,有利于实现较高的投入产出比。缺乏可复用的测试用例会导致测试团队不断重复创建相似的测试场景,消耗大量时间…

CleanMyMac中文版2024破解版安装包下载最新官方免费激活码

CleanMyMac中文版,让你的电脑焕然一新! 大家好,今天我要给大家推荐一款神奇的软件——CleanMyMac中文版。作为一个长期使用Mac的用户,我一直在寻找一款能够彻底清理电脑垃圾和优化系统的工具,而CleanMyMac正是我心心念…

封装音视频编解码和渲染的动态链接库编译和测试

1.动态链接库的编译 生成了以下几个文件 我们把生成的lib文件复制到lib文件夹中 其余三个文件不变动 2.进行测试看是否可以用生成的xcodec.lib库文件里的接口函数 以上是重新创建的新项目,导入了xcodec.lib,其他配置同以前项目 库测试结果 运行显示我们…

优思学院|精益生产10大工具全解析

精益生产是一种管理哲学,其核心思想是通过消除浪费、持续改进和最大化价值来提高企业效率和效益。本文将详细解析精益生产的10大工具,帮助企业更好地理解和实施精益生产,以实现卓越的经营绩效。 一、价值流图 (Value Stream Mapping) 前言 …

大模型的分类:探索多样化的人工智能模型

随着人工智能技术的飞速发展,大型预训练模型(以下简称“大模型”)已经在自然语言处理、计算机视觉、语音识别等多个领域取得了显著的成果。这些模型通过在海量数据上进行预训练,能够捕捉到丰富的特征信息,为各种下游任…

C#标志位的使用

C#作为一种功能强大的编程语言,是在.NET框架中广泛使用的语言之一。在实际应用中,C#的标志位在各种系统设计和编程实践中会涉及到。这篇文章将讨论如何使用C#的标志位来跟踪报警声音的播放状态。 报警系统是一种广泛应用的系统,它可以在关键时…

软件性能测试之负载测试、压力测试详情介绍

负载测试和压力测试是软件性能测试中的两个重要概念,它们在保证软件质量和性能方面起到至关重要的作用,本文将从多个角度详细介绍这两种测试类型。 一、软件负载测试   负载测试是在特定条件下对软件系统进行长时间运行和大数据量处理的测试&#xff…

shell脚本中的变量

关于Linux操作系统中当前shell进程与子shell进程的详细解释 如上图所示,使用ps -f可以当前查看Linux操作系统中当前正在运行的进程。 然后敲bash后,相当于在当前的bash shell环境下又创建了一个子bash shell的进程, 如上图所示,…

Apache Druid-时序数据库

Apache Druid:是是一个集时间序列数据库、数据仓库和全文检索系统特点于一体的分析性数据平台,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景&…

手把手带你实现一个简单的轮播图

轮播图现有成熟的插件非常多,但做为一名学习中的想要成为前端开发的小伙伴们来说,自己动手实现一个轮播图,还是很锻炼的,实现完成后,也是很有成就感的。下面,我们来实现一个简单的轮播图吧。 目录 1 HTML …

DIY一个PE启动盘

原文:https://blog.c12th.cn/archives/18.html 前言 有天,朋友问我有没有带集成软件的U盘启动盘。我也是很久没有弄启动盘了,有次在逛b站时无意中看到还有可以DIY的启动盘,于是就教程就来了… 该两种方法,已在三台实体…

SCADA软件地毯式介绍,你想知道的都在这里.

很多小伙伴对SCADA很陌生,殊不知这个可是智慧工业制造的大脑和中枢神经,很多指令的发出,监控状态的现实都得通过这个系统,本文详解介绍一下什么是SCADA,重大作用,其在工业制造中的位置,以及市面…