Python画图(多图展示在一个平面)

news2024/11/25 13:53:28

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 一、准备表格数据
  • 二、读取表格数据
    • 1. 引入所需库
    • 2. 读取文件数据
    • 3. 打印模型数据
  • 三、将多图画在一个平面上展示
    • 1. 获取模型中的列字段数量
    • 2. 遍历列字段并画图
    • 3. 展示平面图
    • 4. 保存图片
  • 四、完整代码
  • 六、执行后的输出展示
    • 1. 控制带输出
    • 2. 画图结果输出
    • 3. 保存的视图查看


关于python读取Excel表格数据并并画图保存简单实现可参考:
Python读取Excel表格数据并画图保存(pandas读取、matplotlib画图)

如何将多个图画在同一个平面上展示,如下
在这里插入图片描述
文章所需excel表格文件和完整代码文件已打包上传到CSDN资源库,点击链接直接获取
Python matplotlib画图 pandas表格数据读取 将多个图画在同一个平面内

一、准备表格数据

准备一个Excel文件,并填充数据
创建文件test01.xlsx
将sheet页名称该位car
填充三个字段speed_km_h、temp_c、time_s
填充数据,如下图
在这里插入图片描述

二、读取表格数据

读取表格中的数据,并将读取的模型数据打印输出到控制台
注:需提前下载对应的库信息,可参考文首文章链接

1. 引入所需库

引入pandas库用于读取表格文件
引入matplotlib库用于画图

#引入pandas用于读取
import pandas as pd
#引入matplotlib用于画图
import matplotlib.pyplot as plt

2. 读取文件数据

通过pandas库的函数读取表格文件数据

#使用pandas读取excel表,可指定sheet页的名字
df = pd.read_excel("./test01.xlsx",sheet_name="car")

3. 打印模型数据

打印模型数据

#打印读取的模型
print("df: ",df)

print("="*100)

输出如下
在这里插入图片描述

三、将多图画在一个平面上展示

1. 获取模型中的列字段数量

根据前面读取的数据模型,获取模型中列字段的个数,后续根据列的个数决定输出图的个数

#打印出新模型的列字段数量
field = df.columns.size
print(field)

2. 遍历列字段并画图

根据列字段进行画图,先选择一个字段作为横坐标,然后将所有字段当做纵坐标进行画图

#遍历模型的所有字段
for i, item in enumerate(list(df.columns)):
    #打印字段值
    print(i, item)
    print("="*100)
    # if item == "time_s":
        # continue
    #定义打印视图的参数,field表示线形图的数量,1表示将线形图放在一个图中,i+1表示遍历打印视图,该参数不能为0,所以需要加一
    plt.subplot(field, 1, i+1)

    #打印,以tims_s为横轴,三个字段speed_km_h、time_s、temp_c为纵轴画图
    plt.plot(df["time_s"], df[item])

3. 展示平面图

将整个平面图展示出来

#将整个视图展示
plt.show()

4. 保存图片

在展示的函数show()之前使用savefig()保存图片

# 保存图片到本地,保存在当前位置,以jpg格式存储
filename = "car"
plt.savefig(f"./{filename}.jpg")

四、完整代码

以下为完整代码

#引入pandas用于读取
import pandas as pd
#引入matplotlib用于画图
import matplotlib.pyplot as plt

#需要下载openpyxl,pandas

#使用pandas读取excel表,可指定sheet页的名字
df = pd.read_excel("./test01.xlsx",sheet_name="car")

#打印读取的模型
print("df: ",df)

print("="*100)


#打印表头字段
print("df.colums: ",df.columns)

print("="*100)

#打印出新模型的列字段数量
field = df.columns.size
print(field)

#遍历模型的所有字段
for i, item in enumerate(list(df.columns)):
    #打印字段值
    print(i, item)
    print("="*100)
    # if item == "time_s":
        # continue
    #定义打印视图的参数,field表示线形图的数量,1表示将线形图放在一个图中,i+1表示遍历打印视图,该参数不能为0,所以需要加一
    plt.subplot(field, 1, i+1)

    #打印,以tims_s为横轴,三个字段speed_km_h、time_s、temp_c为纵轴画图
    plt.plot(df["time_s"], df[item])


# 保存图片到本地,保存在当前位置,以jpg格式存储
filename = "car"
plt.savefig(f"./{filename}.jpg")

#将整个视图展示
plt.show()

六、执行后的输出展示

执行完整代码,查看输出结果

1. 控制带输出

控制台输出如下
在这里插入图片描述

2. 画图结果输出

画图结果输出如下,横轴为时间,纵轴为三个字段,三个图在同一平面展示
在这里插入图片描述

3. 保存的视图查看

如图所示,保存位置为当前位置,名称为car.jpg,内容如下
在这里插入图片描述


感谢阅读,祝君暴富!

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

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

相关文章

Go实战 | 使用Go-Fiber采用分层架构搭建一个简单的Web服务

前言 📢博客主页:程序源⠀-CSDN博客 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 一、环境准备、示例介绍 Go语言安装,GoLand编辑器 这个示例实现了一个简单的待办事项(todo&#xf…

应用解析 | 面向智能网联汽车的产教融合解决方案

背景介绍 随着科技的飞速发展,智能网联汽车已成为汽车产业的新宠,引领着未来出行的潮流。然而,行业的高速发展也带来了对高素质技术技能人才的迫切需求。为满足这一需求,推动教育链、人才链与产业链、创新链的深度融合&#xff0…

【Java】static 修饰变量

static 一种java内置关键字,静态关键字,可以修饰成员变量、成员方法。 static 成员变量 1.static 成员变量2.类变量图解3.类变量的访问4.类变量的内存原理5.类变量的应用 1.static 成员变量 成员变量按照有无static修饰,可以分为 类变量…

AGP8+ android.useNewApkCreator‘ is deprecated 打包失败

问题 新建一个项目,默认使用最新版的 AGP 和 Gradle,打包构建立马失败! 错误日志 Caused by: com.android.builder.errors.EvalIssueException: The option android.useNewApkCreator is deprecated. An exception occurred applying plu…

STM32-16-ADC

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU STM32-14-FSMC_LCD STM32-15-DMA…

关于2024中国海洋装备博览会(福州)的参展通知

2024中国航洋装备博览会 2024世界航海装备大会 2024中国船舶供应链大会 2024中国航洋装备博览会2024世界航海装备大会 时间地点、规模、主题、定位 1.时间:2024年11月15日至18日 2.地点:福州海峡国际会展中心、冠城大通游艇码头 3.规模&#xff1…

Seed-TTS语音编辑有多强?对比实测结果让你惊叹!

GLM-4-9B 开源系列模型 前言 就在最近,ByteDance的研究人员最近推出了一系列名为Seed-TTS的大规模自回归文本转语音(TTS)模型,能够合成几乎与人类语音无法区分的高质量语音。那么Seed-TTS的表现究竟有多强呢?让我们一起来感受下Seed-TTS带来的惊喜吧! 介绍Seed-TTS…

Vivado 设置关联使用第三方仿真软件 Modelsim

目录 1.前言2.Vivado 设置关联使用第三方仿真软件 Modelsim 微信公众号获取更多FPGA相关源码: 1.前言 Vivado 软件自带有仿真功能,该功能使用还是比较方便的,初学者可以直接使用自带的仿真功能。 Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他…

27 - 求关注者的数量(高频 SQL 50 题基础版)

27 - 求关注者的数量 selectuser_id,count(*) followers_count fromFollowers group byuser_id;

什么是阻塞IO和非阻塞IO

一、IO模型 五种:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、异步IO 1.阻塞IO:一个应用程序执行I/O操作时,会被阻塞,直到数据准备好或操作完成。这种模型通常简单易用,但会造成资源浪费。因为CPU在等待I/O操作完成时…

为什么要学习扣子(Coze)

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 吾之笔记,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。 &#…

2024大模型如何学习【附学习资料】

摘要: 通过深入了解本文中的这些细节,并在实际项目中应用相关知识,将能够更好地理解和利用大模型的潜力,不仅在学术研究中,也在工程实践中。通过不断探索新方法、参与项目和保持热情,并将其应用于各种领域&…

【Spring框架全系列】SpringBoot_基础_先知(详细)

文章目录 1.SpringBoot介绍2.创建一个SpringBoot项目3.parent标签 - 父工程4.starter依赖5.启动类和文件打包6.默认配置 1.SpringBoot介绍 Spring阶段最困扰大家的事情是什么? 配置 → 配置魔鬼 快速搭建一个独立的生产级别的Spring应用 快速引入项目相关依赖 开箱…

开源!过程控制与自动化系统

软件介绍 ProviewR是一个基于GPL许可的过程控制与自动化系统,最初由瑞典的Mandator和SSAB Oxelsund开发。作为一个成熟、集成且低成本的自动化解决方案,ProviewR在以Linux作为操作系统的标准PC上运行。该系统包含了顺序控制、调整、数据采集、通信、监控…

16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分

1、matlab求导,diff()函数 1)一阶导数 语法:diff(f(x)):求一阶导数 //diff(f(x),n):求n阶导数(n为具体正整数) 以函数(cos(x)sin(x)-x^2)的一阶导数为例 一阶导数代码: yms x;%声明符号变量x f(x)cos(…

开源网关Apache APISIX启用JWT身份验证

说明: 本文APISIX的配置参考我之前写的《Ubuntu部署Apache APISIX》 创建最小API 首先,确保你已经安装了.NET 6 SDK。创建文件夹“MinimalApiDemo”,VS Code打开文件夹,打开终端 dotnet new web -o MinimalApiDemo cd Minimal…

ros2笔记

Ros2 hello world ccreate packagehelloworld.cpp hello world pythonhelloworld.py file explainros2 cmdcreatebuildfindruninstall interfacesmsg filesrv fileaction file Topic hello world c mkdir -p {your workspace name}/src cd {your workspace name} #进入工作空间…

【CTF-Web】文件上传漏洞学习笔记(ctfshow题目)

文件上传 文章目录 文件上传What is Upload-File?Upload-File In CTFWeb151考点:前端校验解题: Web152考点:后端校验要严密解题: Web153考点:后端校验 配置文件介绍解题: Web154考点&#xff1a…

【Java】static 修饰成员方法

static 修饰成员方法 简介 应用 static 修饰成员方法 1.static 修饰成员方法2.内存原理3.main函数4.类方法的应用 1.static 修饰成员方法 测试类: package suziguang_d2_staticdemo;public class Test {public static void main(String[] args) {// 1.类方法使用/…

六西格玛培训,带你解锁职场超能力工具!

当提及六西格玛培训的精髓时,我们不得不提到那些强大而实用的工具,它们如同探险者的指南针,引导我们走向卓越。今天,就让我们一起揭开这些神秘工具的面纱,探寻六西格玛背后的智慧。 首先,DMAIC流程是六西格…