python可视化将多张图整合到一起(画布)

        这周有点事忙着,没时间重温刚结束的Mathurcup数学建模,这两天也是再看了下,论文还是赶紧挺烂的,但比国赛又有进步(说起国赛又不得不抱怨了,基本其余省份都发了,但江西......哎)。哎,数模就是这样,想起刚接触数模,也是参加了Mathurcup,结果。。。

        咳咳,跑偏了,就这次Mathurcup而言,还是感觉到了有些乏力,毕竟平常也都不会去专门看数模,都是比赛的时候临时学,有些模型、方法还是很生。但熬了这么久,也算学到了点啥,对于我来说,我是敲代码的,思路方面不用我操心,理解他思路就行,但代码方面,我印象很深刻的就是学会了用画布,之前参考优秀论文的时候经常能看见这种图,一张图中有很多子图。类似下面这种:

        其实实现也蛮简单的,下面是一个例子,也是本次Mathurcup的数据处理某个环节,具体注释也给了:

import matplotlib.pyplot as plt
import pandas as pdi = 1
# 创建包含 8 个子图的图布
fig, axs = plt.subplots(4, 2, figsize=(12, 8))  #可调整
# 因为要为每个子图进行相同的绘图操作,可以使用 flatten() 将其转换为一维数组
axs = axs.flatten()# 遍历文件夹中的所有文件
for j in range(140,281, 20):file_path = f"D:\\OneDrive\\桌面\\2024Mathurcup\\附件二处理后数据\\category{j}.xlsx"# 读取文件df = pd.read_excel(file_path)# 取数据x_axis_data = df['日期']y_axis_data = df['销量']# 后面子图名称line_name = f"category{j}"axs[i - 1].plot(x_axis_data, y_axis_data, 'b*--', alpha=0.5, linewidth=1, label=line_name)  # 绘制曲线axs[i - 1].legend(loc='upper right', bbox_to_anchor=(1.05, 1), borderaxespad=0.)# 设置 X 轴刻度axs[i - 1].xaxis.set_major_locator(plt.MaxNLocator(nbins=5))# 设置x轴、y轴axs[i - 1].set_xlabel('日期', fontdict={"family": "KaiTi", "size": 15, "color": "b"})axs[i - 1].set_ylabel('销量', fontdict={"family": "KaiTi", "size": 15, "color": "b"})i += 1
# 自动调整子图参数,确保子图之间以及子图和标签之间的间距合理,避免重叠,从而使得图像布局更加整洁和美观。
plt.tight_layout()
plt.savefig("D:/picture_1.png")
plt.show()

运行结果如下,向这种就适合那些数据文件很多的抽样展示:

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。看啥。没有了,学习去!

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

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

相关文章

MFC图形函数学习07——画扇形函数

绘制扇形函数是MFC中绘图的基本函数,它绘制的仍是由椭圆弧与椭圆中心连线构成的椭圆扇形,特例是由圆弧与圆心连线构成的圆扇形。 一、绘制扇形函数 原型:BOOL Pie(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4); …

vue 依赖注入(Provide、Inject )和混入(mixins)

Prop 逐级透传问题​ 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一棵巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。…

c++零基础入门知识点

名字空间(namespace)的引入和使用 名字空间域是随标准C而引入的。它相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来,并以关键字namespace开头给它起一个名字 //TestMain.cpp //1. 普通的命名空…

手机上用什么方法可以切换ip

手机上用什么方法可以切换IP?在某些特定情境下,用户可能需要切换手机的IP地址,以满足网络安全、隐私保护或绕过地域限制等需求。下面以华为手机为例,将详细介绍手机IP地址切换的几种方法,帮助用户轻松实现这一目标。 一…

全面解析 Python typing模块与静态类型注解:从基础到高级

在现代软件开发中,代码的可读性、维护性和可靠性至关重要。Python 作为一门动态类型语言,尽管灵活,但也可能带来一些类型上的困扰。Python 的 typing 模块和静态类型注解提供了一种在编写代码时明确类型信息的方法,从而提升代码质…

一个强大的Stable Diffusion comfyUI 工作流,能实现写真自由、各种风格融合、面部特征一致性等等

今天,我们将向您介绍一款非常实用的工具——Stable Diffusion comfyUI工作流。这款工作流基于Stable Diffusion技术,旨在为您提供一键式生成图像的便捷体验。无论您是AI绘画的新手还是专业人士,这个工作流都能为您带来极大的便利。 在这个教…

【测试】【Debug】pytest运行后print没有输出

import pytest def test_good():for i in range(1000):print(i)def test_bad():print(this should fail!)assert False比如上述程序,运行之后只能看到输出了’this should fail!;但是debug版的测试运行后又能看到test_good函数中的输出。 这是为什么呢&a…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——6.外泌体基因功能注释(二)

内容如下: 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的相关性分析…

【Homework】【1--4】Learning resources for DQ Robotics in MATLAB

Learning resources for DQ Robotics in MATLAB Lesson 1 代码 % Step 2: Define the real numbers a1 and a2 a1 123; a2 321;% Step 3: Calculate and display a3 a1 a2 a3 a1 a2; disp([a3 (a1 a2) , num2str(a3)])% Step 4: Calculate and display a3 a1 * a2 a3…

ORACLE RAC用DNS服务器的配置

一、搭建本地YUM源 二、安装DNS全部组建 yum -y install bind* 三、规划您RAC集群所有IP #public 192.168.16.111 rac1.ntt.com rac1 192.168.16.112 rac2.ntt.com rac2 192.168.16.121 rac3.ntt.com rac3 192.168.16.122 rac4.ntt.com rac4 #private 10.10.10.111 rac1-pr…

Redis穿透、击穿、雪崩

redis是一款常用的非关系型数据库,我们常用与作为数据缓存的组件。 接下来介绍一下面试中常被问到的三个概念以及简单的解决方法。 穿透 什么叫缓存穿透 缓冲穿透,是当有一个请求过来时,查询redis缓存不存在,又去查询数据库&…

前向-后向卡尔曼滤波器(Forward-Backward Kalman Filter)资料汇总

《卡尔曼滤波引出的RTS平滑》参考位置2《卡尔曼滤波系列——(六)卡尔曼平滑》《关于卡尔曼滤波和卡尔曼平滑关系的理解》——有m语言例程《Forward Backwards Kalman Filter》——Matlab软件《卡尔曼滤波与隐马尔可夫模型》

linux命令详解,存储管理相关

存储管理 一、内存使用量,free free 命令是一个用于显示系统中物理内存(RAM)和交换空间(swap)使用情况的工具 free -m free -m -s 5参数 -b 功能: 以字节(bytes)为单位显示内存使用情况。说…

PHP API的路由设计思路

PHP API的路由设计是构建高效、可维护API的关键环节。以下是一套完整的PHP API路由设计思路: 一、明确设计原则 使用统一资源标识符(URI):通过URI来标识资源,确保每个资源都有一个唯一的地址。使用HTTP方法&#xff…

推荐一款功能强大的视频修复软件:Apeaksoft Video Fixer

Apeaksoft Video Fixer是一款功能强大的视频修复软件,专门用于修复损坏、不可播放、卡顿、画面失真、黑屏等视频问题。只需提供一个准确且有效的样本视频作为参考,该软件就能将受损视频修复到与样本视频相同的质量。该软件目前支持MP4、MOV、3GP等格式的…

Redis如何保证数据不丢失(可靠性)

本文主要以学习为主,详细参考:微信公众平台 Redis 保证数据不丢失的主要手段有两个: 持久化 多机部署 我们分别来看它们两的具体实现细节。 1.Redis 持久化 持久化是指将数据从内存中存储到持久化存储介质中(如硬盘&#xf…

第三十九章 基于VueCli自定义创建项目

目录 1. 选择创建模式 2. 选择需要的功能 3. 选择历史模式还是哈希模式 ​4.CSS预处理器 5. 选择ESLint规则 6. 开始创建项目 ​7. 自定义项目最终结构 1. 选择创建模式 输入创建的项目名,创建项目: 这里选择自定义模式: 2. 选择需要…

【Vue3】基础语法案例

图片点击轮播 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>图片轮播</title> </head><body><div id"app"><h3>{{ number }}</h3><!-- 通过模板字…

16.useForm

在 React 应用中,处理表单状态是一个常见但有时复杂的任务。每个表单字段通常需要自己的状态和更新逻辑,这可能导致代码重复和难以维护。useForm 钩子提供了一种简洁的方法来管理整个表单的状态,大大简化了表单处理过程。这个自定义钩子不仅减少了样板代码,还提高了表单处理…

CentOS8.4 部署 k8s 1.31.2

文章目录 配置 aliyun 源配置时间同步查看 安装 docker下载一些必备工具配置 aliyun 的源更新源删除旧的 podman安装 docker设置开机启动 配置 hosts 表多主机协同可以不写 关闭 swap 分区配置 iptables配置 k8s 源初始化 master 节点初始化 node 节点 查看集群状态 [!warning]…