当前位置: 首页 > news >正文

matplotlib绘制动态瀑布图

在这里插入图片描述

绘制瀑布图思路:遍历指定文件目录下所有的csv文件,每读一个文件,取文件前20行数据进行保存,如果超过规定的行数300行,将最旧的数据删除,仅保留300行数据进行展示。

网上找的大部分绘制瀑布图的代码,均无法呈现动态效果。不是动态的效果还能称为瀑布图吗?(疑问),博主自己摸索了一套绘制动态图的思路,这里全部代码贴出来,如果需要绘制用的数据,可以私信。当然也可以改代码以适用自己的数据。

import os
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
from matplotlib.animation import FuncAnimationfig, ax = plt.subplots()
yLimLen = 300
pastData = np.ones((0, 0))def update(csvFilePathName):df = pd.read_csv(csvFilePathName, header = None)arr = df.values[:10]  global pastDataif not pastData.any():pastData = arrelse:arr = np.row_stack((pastData, arr))pastData = arrlenNum = arr.shape[0]print(f'lenNum:{lenNum}')if lenNum > yLimLen:arr = arr[lenNum - yLimLen:-1]colors = ['greenyellow', 'yellow', 'darkblue', 'royalblue', 'orange', 'red']clrmap = mcolors.LinearSegmentedColormap.from_list('mycmap', colors)csvFileName =  csvFilePathName.split('/')[2]ax.set_xlabel(csvFileName)plt.imshow(np.flipud(arr), cmap = clrmap) #用于将数据反转,最上面是最新的数据def configSet(drawUseFileNum = 50):path = r'./2023-09-28_15/'files = os.listdir(path)[:drawUseFileNum]filePathName = [path + i for i in files]print(f'一共有{len(files)}个文件')# fig, ax = plt.subplots()ax.set_ylim(0, yLimLen)# ax.set_axis_off()ax.invert_yaxis()ani = FuncAnimation(fig, update, frames = filePathName, interval = 50, blit = False, repeat = False)# plt.show()ani.save('move.gif', writer='imagemagick')print(f'finish!')if __name__ == '__main__':configSet()

相关文章:

matplotlib绘制动态瀑布图

绘制瀑布图思路:遍历指定文件目录下所有的csv文件,每读一个文件,取文件前20行数据进行保存,如果超过规定的行数300行,将最旧的数据删除,仅保留300行数据进行展示。 网上找的大部分绘制瀑布图的代码&#x…...

【STM32】STM32学习笔记-USART串口收发HEX和文本数据包(29)

00. 目录 文章目录 00. 目录01. 串口简介02. 串口收发HEX数据包接线图03. 串口收发HEX数据包示例104. 串口收发HEX数据包示例205. 串口收发文本数据包接线图06. 串口收发文本数据包示例07. 程序示例下载08. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常…...

uniapp列表实现方式 v-for

创建列表视图 v-for v-for“对象item in 数组” v-for“(对象item&#xff0c;下标) in 数组” v-for“(对象item&#xff0c;使用这个键取到的值&#xff0c;下标) in 数组” :key 绑定标识 一般建议使用对象中的id等值 类型 any <template><view><view clas…...

SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤 三、使用Core API访问与操作数据库 Sqlalchemy 的Core部分集成了DB API, 事务管理&#xff0c;schema描述等功能&#xff0c;ORM构筑于其上。本章介绍创建 Engine对象&#xff0c;使用基本的…...

PDF有编辑密码怎么办

目录 注意&#xff1a; windows方法&#xff1a; 1 python 下载 2 打开命令行 3 安装 pikepdf 4 编写python脚本 5 使用py脚本 6解密完成 Linux方法&#xff1a; 注意&#xff1a; 此方法可以用于破解PDF的编辑密码&#xff0c;而不是PDF的打开密码 当遇到类似如下问…...

智慧公厕:打造智慧城市公共厕所信息化管理的新升级

在现代社会中&#xff0c;随着科学技术的不断进步与应用&#xff0c;智慧公厕作为公共服务设施&#xff0c;正迎来一次新的升级与革新。利用先进技术&#xff0c;智慧公厕实现了信息化升级&#xff0c;能够实时监测人员、环境和设备状况&#xff0c;提高使用效率、安全性、舒适…...

gin-vue-admin二开使用雪花算法生成唯一标识 id

场景介绍 需求场景&#xff1a; 总部采集分支的数据&#xff0c;由于分支的 id 是子增的主键 id&#xff0c;所以会出现重复的 id&#xff0c;但是这个 id 需要作为标识&#xff0c;没有实际作用&#xff0c;这里选择的是分布式 id 雪花算法生成 id 存储用来标识&#xff0c;这…...

文心一言 vs. ChatGPT:哪个更胜一筹?

文心一言 vs. ChatGPT&#xff1a;从简洁美到深度思考的文本生成之旅 近年来&#xff0c;文本生成工具的崛起使得人们在表达和沟通方面拥有了更多的选择。在这个领域中&#xff0c;文心一言和ChatGPT作为两个备受瞩目的工具&#xff0c;各自以独特的优势展现在用户面前。本文将…...

LoadBalancer 替换 Ribbon

POM 移除 Ribbon 相关依赖 <!-- LoadBalancer 必须引入 springcloud --> <!-- 父pom引入springcloud 版本管理 --> https://spring.io/projects/spring-cloud/ 官网查看 boot 对应的 cloud 的版本 <dependencyManagement><dependency> <groupI…...

Jsqlparser简单学习

文章目录 学习链接模块访问者模式parser模块statement模块Expression模块deparser模块 测试TestDropTestSelectTestSelectVisitor 学习链接 java设计模式&#xff1a;访问者模式 github使用示例参考 测试 JSqlParser使用示例 JSqlParse&#xff08;一&#xff09;基本增删改…...

IC验证——perl脚本ccode_standard——c代码寄存器配置标准化

目录 1 脚本名称 2 脚本路径 3 脚本参数说明 4 脚本操作说明 5 脚本代码 1 脚本名称 ccode_standard 2 脚本路径 /scripts/bin/ccode_standard 3 脚本参数说明 次序 参数名 说明 1 address (./rfdig&#xff1b;.&#xff1b;..&#xff1b;./boot) 指定脚本执行路…...

Qt单个字符判断

1.相关说明 字符的Unicode编码、单个字符的判断 2.界面绘制 3.相关主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui;…...

通过OpenIddict设计一个授权服务器02-创建asp.net项目

在这一部分中&#xff0c;我们将创建一个ASPNET核心项目&#xff0c;作为我们授权服务器的最低设置。我们将使用MVC来提供页面&#xff0c;并将身份验证添加到项目中&#xff0c;包括一个基本的登录表单。 创建一个空的asp.net core项目 正如前一篇文章中所说&#xff0c;授权…...

2.6、云负载均衡产品详述

一、定义 弹性负载均衡(Elastic Load Balance&#xff0c;简称ELB)可将来自公网的访问流量分发到后端云主机&#xff0c;可选多种负载均衡策略&#xff0c;并支持自动检测云主机健康状况&#xff0c;消除单点故障&#xff0c;保障应用系统的高可用。 二、产品架构 1&am…...

黑马程序员 Docker笔记

本篇学习笔记文档对应B站视频&#xff1a; 同学们&#xff0c;在前两天我们学习了Linux操作系统的常见命令以及如何在Linux上部署一个单体项目。大家想一想自己最大的感受是什么&#xff1f; 我相信&#xff0c;除了个别天赋异禀的同学以外&#xff0c;大多数同学都会有相同的…...

游戏素材永不缺,免费在线AI工具Scenario功能齐全,简单易用

Scenario是一个在线的AI驱动的工具&#xff0c;主要用于游戏艺术创作。它提供了一套全面的功能&#xff0c;旨在帮助游戏开发者创建与其独特风格和艺术方向相符的独特、高质量的游戏艺术。Scenario的突出特点之一是它的微调能力&#xff0c;允许用户根据独特的风格和艺术方向训…...

ChatGPT和文心一言哪个好用?

#ChatGPT 和文心一言哪个更好用&#xff1f;# 在当今信息爆炸的时代&#xff0c;人们对于文本生成和创作工具的需求越来越高。在这个背景下&#xff0c;ChatGPT和文心一言作为备受瞩目的工具&#xff0c;各自拥有独特的功能和用途。在本文中&#xff0c;我们将深入探讨这两个工…...

纯c++简易的迷宫小游戏

一个用c写的黑框框迷宫 适合新手入门学习 也适合大学生小作业 下面附上代码 总体思路 初始化游戏界面&#xff1a;设置迷宫的大小&#xff08;WIDTH和HEIGH&#xff09;&#xff0c;生成迷宫地图&#xff08;map&#xff09;&#xff0c;包括墙壁、空地、起点和终点。显示…...

基于python舆情分析可视化系统+情感分析+爬虫+机器学习(源码)✅

大数据毕业设计&#xff1a;Python招聘数据采集分析可视化系统✅ 毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&…...

2024年1月16日Arxiv热门NLP大模型论文:Multi-Candidate Speculative Decoding

大幅提速NLP任务&#xff0c;无需牺牲准确性&#xff01;南京大学提出新算法&#xff0c;大幅提升AI文本生成效率飞跃 引言&#xff1a;探索大型语言模型的高效文本生成 在自然语言处理&#xff08;NLP&#xff09;的领域中&#xff0c;大型语言模型&#xff08;LLMs&#xf…...

SABIC工程塑料创新材料解决方案与发展前景分析

SABIC工程塑料凭借其卓越的耐高温性、机械强度及化学稳定性&#xff0c;成为高端制造领域不可或缺的创新材料解决方案。其未来发展将深度契合汽车轻量化、5G通信及新能源产业升级需求&#xff0c;市场前景广阔。工程塑料作为高端制造业的核心基础材料&#xff0c;其性能直接决定…...

Claude Mythos:首个具备自主渗透能力的通用AI安全模型

1. 这不是一次普通升级&#xff1a;Mythos 的能力跃迁到底意味着什么 如果你过去三年一直在跟进大模型的演进节奏&#xff0c;大概率会记得2023年Claude 2发布时那种“稳扎稳打”的观感——推理更连贯、长文本更可靠、代码能力有提升&#xff0c;但整体仍属于渐进式优化。2024年…...

用 jose 正确实现 JWT 签发、验签与密钥轮换

1. 为什么你写的 JWT 总是“看起来能用&#xff0c;上线就出事”JWT&#xff08;JSON Web Token&#xff09;这东西&#xff0c;我第一次在项目里用的时候&#xff0c;也是照着文档抄了三行代码&#xff1a;jwt.sign(payload, secret)、jwt.verify(token, secret)、res.json({ …...

LVGL样式进阶:别再只改颜色了!手把手教你定制lv_switch的动画和lv_btn的按压反馈

LVGL样式进阶&#xff1a;别再只改颜色了&#xff01;手把手教你定制lv_switch的动画和lv_btn的按压反馈 在嵌入式UI开发中&#xff0c;LVGL作为轻量级图形库的代表&#xff0c;其样式系统的灵活性常常被低估。大多数开发者停留在修改背景色、字体颜色等基础操作&#xff0c;却…...

超全 PS 快捷键汇总!新手一键收藏终身受用

对于经常使用Photoshop修图、做设计的小伙伴来说&#xff0c;最影响效率的从来不是创意不足&#xff0c;而是频繁点击菜单栏找功能。明明几秒就能完成的操作&#xff0c;却因为不熟悉工具&#xff0c;反复查找按钮、低效操作&#xff0c;大大拖慢修图节奏。熟练掌握PS快捷键&am…...

COCO数据集到底怎么用?从PyTorch和TensorFlow加载到可视化标注的完整代码示例

COCO数据集实战指南&#xff1a;从数据加载到可视化标注的全流程解析 计算机视觉领域的研究者和开发者们&#xff0c;当你开始构建目标检测或图像分割模型时&#xff0c;COCO数据集无疑是你最重要的训练资源之一。这个由微软发起的大规模数据集已经成为行业标准&#xff0c;但许…...

别再一页页改了!用OrCAD Capture CIS高效管理原理图文档与BOM

用OrCAD CIS实现原理图文档与BOM的智能化协同管理 在硬件工程团队协作中&#xff0c;原理图文档与物料清单&#xff08;BOM&#xff09;的一致性管理常成为效率瓶颈。传统手工维护方式不仅耗时费力&#xff0c;更可能因人为疏忽导致版本混乱。OrCAD Capture CIS的元件信息系统为…...

BinaryBomb通关后,我总结了这6个Linux调试与逆向的‘骚操作’

BinaryBomb通关后&#xff0c;我总结了这6个Linux调试与逆向的‘骚操作’ 在计算机系统基础课程中&#xff0c;BinaryBomb实验堪称是检验学生调试与逆向能力的"试金石"。作为一位刚刚通关的"拆弹专家"&#xff0c;我想分享那些教科书上不会教、却能让你效率…...

5分钟掌握AML模组管理器:XCOM 2模组管理终极指南

5分钟掌握AML模组管理器&#xff1a;XCOM 2模组管理终极指南 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xco…...

Dism++终极指南:轻松掌握Windows系统优化与维护的10个关键技巧

Dism终极指南&#xff1a;轻松掌握Windows系统优化与维护的10个关键技巧 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否曾经因为Windows系统变得越来越慢…...