matplotlib 创建多个子图

2024-06-22 02:20

本文主要是介绍matplotlib 创建多个子图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有些时候我们需要用for循环来创建多个子图,来对比特征。现在已画出8组随机数来作为示例。

from matplotlib import  pyplot as plt
import numpy as np
#设置画布大小
fig=plt.figure(figsize=(20,8))
#解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['SimHei']
for i  in range(4):#创建2组随机数data1=np.random.randint(0,100,100)+20*idata2=np.random.randint(100,200,100)+20*is1=f'ax_{2*i+1}'#添加4行 2列的画布s1 = fig.add_subplot(4,2,2*i+1)s1.boxplot(data1,labels=['箱线图'])plt.title(f'第{2*i+1}个箱线图')#去掉横坐标标签s1.set_xticklabels([])s2 = f'ax_{2*i + 2}'s2 = fig.add_subplot(4, 2, 2*i + 2)s2.boxplot(data2,labels=['箱线图'])plt.title(f'第{2*i+2}个箱线图',color='red')#去掉横坐标标签s2.set_xticklabels([])
plt.show()

出来的图像效果如下: 

也可以将2个图放在一个子图进行对比。

from matplotlib import  pyplot as plt
import numpy as npfig=plt.figure(figsize=(10,8))
plt.rcParams['font.sans-serif'] = ['SimHei']
for i  in range(2):data1=np.random.randint(0,100,100)+20*idata2=np.random.randint(100,200,100)+20*is1=f'ax_{i+1}'s1 = fig.add_subplot(2,1,i+1)s1.boxplot([data1,data2],labels=[f'箱线图{2*i}',f'箱线图{2*i+1}'])plt.title(f'第{i+1}个图形')plt.show()

图形如下:

这篇关于matplotlib 创建多个子图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083014

相关文章

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完