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

python之画动态图 gif效果图

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import os# set up matplotlib
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:from IPython import displayplt.ion()def find_csv_files(directory):csv_files = []  # 用于存储找到的 CSV 文件路径# 遍历指定路径下的所有文件和子目录for root, dirs, files in os.walk(directory):for file in files:# 检查文件是否以 ".csv" 结尾if file.endswith(".csv"):# 构建完整的文件路径并添加到列表中file_path = os.path.join(root, file)csv_files.append(file_path)return csv_files# 指定要查找的路径
directory_to_search = 'carpet'  # 将此路径替换为你想要查找的路径# 调用函数获取符合条件的 CSV 文件路径列表
csv_files_list = find_csv_files(directory_to_search)# 打印找到的 CSV 文件路径
for csv_file in csv_files_list:print(csv_file)def plot_curves(csv_file):# 读取CSV文件df = pd.read_csv(csv_file)num_rows, num_columns = df.shapelines = []# 绘制每一行的曲线图for i in range(num_rows):plt.clf() # 清空画布上的所有内容。此处不能调用此函数,不然之前画出的轨迹,将会被清空。y_values = df.iloc[i]  # 使用前frame+1个数据x_values = range(1, len(y_values) + 1)  # 横坐标使用数据个数line, = plt.plot(x_values, y_values)lines.append(line)plt.pause(0.00001)  # pause a bit so that plots are updatedif is_ipython:display.clear_output(wait=True)display.display(plt.gcf())# 添加标题和标签plt.title('-5mm# Ctm Carpet')plt.xlabel('X')plt.ylabel('Y')# 添加图例plt.legend()# 显示图形plt.show()# 用法示例
csv_file_path = csv_files_list[0] # 替换为你的CSV文件路径
plot_curves(csv_file_path)

下面这两句是动图gif的重点语句

plt.pause(0.00001)  # pause a bit so that plots are updatedif is_ipython:display.clear_output(wait=True)display.display(plt.gcf())
        plt.clf() # 清空画布上的所有内容。此处不能调用此函数,不然之前画出的轨迹,将会被清空。

一个是暂停时间播放下一帧,一个是画布清除

相关文章:

python之画动态图 gif效果图

import pandas as pd import matplotlib import matplotlib.pyplot as plt import os# set up matplotlib is_ipython inline in matplotlib.get_backend() if is_ipython:from IPython import displayplt.ion()def find_csv_files(directory):csv_files [] # 用于存储找到的…...

【JavaWeb】用注解代替配置文件

WebServlet("/query") public class QueryServlet extends HttpServlet {...}在Servlet类上写WebServlet("query"),就相当于在配置文件里写了↓ <servlet><servlet-name>query</servlet-name><servlet-class>QueryServlet</se…...

SpringBoot 3.0 升级之 Swagger 升级

文章目录 SpringFox3.0.0openapi3Swagger 注解迁移ApiApiOperationApiImplicitParamApiModelApiModelProperty 最近想尝试一下最新的 SpringBoot 项目&#xff0c;于是将自己的开源项目进行了一些升级。 JDK 版本从 JDK8 升级至 JDK17。SpringBoot 版本从 SpringBoot 2.7.3 升…...

AR游戏开发

增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;游戏是一种整合了虚拟和现实元素的游戏体验。玩家通过使用AR设备&#xff08;如智能手机、AR眼镜或平板电脑&#xff09;来与真实世界互动&#xff0c;游戏中的数字内容与真实环境相结合。以下是一些关于AR游戏…...

Easy Excel生成复杂下Excel模板(下拉框)给用户下载

引言 文件的下载是一个非常常见的功能&#xff0c;也有一些非常好的框架可以使用&#xff0c;这里我们就介绍一种比较常见的场景&#xff0c;下载Excel模版&#xff0c;导入功能通常会配有一个模版下载的功能&#xff0c;根据下载的模版&#xff0c;填充数据然后再上传。 需求…...

基于EasyExcel的数据导入导出

前言&#xff1a; 代码复制粘贴即可用&#xff0c;主要包含的功能有Excel模板下载、基于Excel数据导入、Excel数据导出。 根据实际情况修改一些细节即可&#xff0c;最后有结果展示&#xff0c;可以先看下结果&#xff0c;是否是您想要的。 台上一分钟&#xff0c;台下60秒&a…...

电子学会C/C++编程等级考试2021年06月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:逆波兰表达式 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* +…...

智能优化算法应用:基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于供需算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.供需算法4.实验参数设定5.算法结果6.参考文献7.MA…...

vue3 setup语法糖写法基本教程

前言 官网地址&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)下面只讲Vue3与Vue2有差异的地方&#xff0c;一些相同的地方我会忽略或者一笔带过与Vue3一同出来的还有Vite&#xff0c;但是现在不使用它&#xff0c;等以后会有单独的教程使用。目前仍旧使用v…...

利用两个指针的差值求字符串长度

指针和指针也可以相加减&#xff0c;例如定义一个一维数组arr[10]&#xff1b;再定义一个指针&#xff08;int *p&#xff09;指向数组首元素的地址&#xff0c;定义一个指针&#xff08;int* q&#xff09;指向数组最后一个元素的地址&#xff0c;那么q-p的结果就是整个数组的…...

ping命令的工作原理

ping&#xff0c;Packet Internet Groper&#xff0c;是一种因特网包探索器&#xff0c;用于测试网络连接量的程序。Ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令&#xff0c; 主要是向特定的目的主机发送 ICMP&#xff08;Internet Control Message Protocol 因特…...

谷歌的开源供应链安全

本内容是对Go项目负责人Russ Cox 在 ACM SCORED 活动上演讲内容[1]的摘录与整理。 SCORED 是Software Supply Chain Offensive Research and Ecosystem Defenses的简称, SCORED 23[2]于2023年11月30日在丹麦哥本哈根及远程参会形式举行。 摘要 &#x1f4a1; 谷歌在开源软件供应…...

分发饼干(贪心算法)

假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有一个尺寸 s[j]…...

基于ssm旅游景点管理系统设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本旅游景点管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…...

用go封装一下封禁功能

思路 封禁业务也是在一般项目中比较常见的业务。我们也将它封装在库中作为功能之一。 我们同样使用adapter作为底层的存储结构&#xff0c;将封禁标示作为k-v结构存储。 把id和服务名称service作为key&#xff0c;把封禁的级别level作为value&#xff0c;以此我们能实现一些比…...

loki 如何格式化日志

部署 grafana-loki 首先介绍一下如何部署 官方文档&#xff1a;部署 grafana-loki 部署命令 设置集群的存储类&#xff0c;如果有默认可以不设置设置命名空间 helm install loki oci://registry-1.docker.io/bitnamicharts/grafana-loki --set global.storageClasslocal -n …...

在Linux上使用mysqldump备份MySQL数据库的详细步骤

MySQL数据库备份是确保数据安全性的关键步骤之一。在Linux系统上&#xff0c;使用mysqldump工具是一种常见、可靠的方法&#xff0c;它能够导出数据库的结构和数据&#xff0c;以便在需要时进行还原。以下是详细的备份步骤&#xff1a; 步骤 1&#xff1a;登录到MySQL服务器 …...

神经网络基础

神经网络 引言 神经网络的历史背景 神经网络的概念最早可以追溯到20世纪40年代&#xff0c;当时的科学家们受到生物神经系统的启发&#xff0c;尝试模拟人脑的信息处理方式。在接下来的几十年里&#xff0c;这个领域经历了多次兴衰。尽管在最初几十年内进展缓慢&#xff0c;…...

你好,C++(2)1.3 C++世界版图1.4 如何学好C++

1.3 C世界版图 C语言的发展过程&#xff0c;不仅是一个特性不断增加、内容不断丰富的过程&#xff0c;更是一个在应用领域中不断攻城略地的过程。在其30余年的发展过程中&#xff0c;C在多个应用领域都得到了广泛的应用和发展。无论是在最初的UNIX/Linux操作系统上&#xff0c…...

Ceph入门到精通- smartctl -l error检查硬盘指标

“smartctl -l error” 是一个 Linux 命令&#xff0c;用于查看磁盘驱动器的 SMART (Self-Monitoring, Analysis and Reporting Technology) 错误日志。SMART 是一种技术&#xff0c;能够监测硬盘驱动器的状态并提供关于硬盘健康状况的信息。 运行该命令后&#xff0c;你将看到…...

Label Studio 视频标注实战:解决动态追踪、效率低下的5个进阶策略

Label Studio 视频标注实战&#xff1a;解决动态追踪、效率低下的5个进阶策略 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/label-st…...

Granite TimeSeries FlowState R1赋能Java应用:商品销量预测微服务开发实录

Granite TimeSeries FlowState R1赋能Java应用&#xff1a;商品销量预测微服务开发实录 最近在做一个电商后台的优化项目&#xff0c;其中一个核心需求就是希望能提前知道商品未来一段时间的销量走势。老板想备货&#xff0c;运营想搞活动&#xff0c;都离不开这个数据。传统的…...

图解CV中的交叉注意力:用QKV三兄弟搞定图像特征增强(附PyTorch代码示例)

图解CV中的交叉注意力&#xff1a;用QKV三兄弟搞定图像特征增强&#xff08;附PyTorch代码示例&#xff09; 在计算机视觉领域&#xff0c;注意力机制正逐渐成为提升模型性能的关键技术。不同于传统卷积操作的固定感受野&#xff0c;注意力机制赋予模型动态聚焦重要区域的能力。…...

贝叶斯分位数回归:超越均值的数据分析方法

贝叶斯分位数回归&#xff1a;超越均值的数据分析方法 【免费下载链接】pymc Python 中的贝叶斯建模和概率编程。 项目地址: https://gitcode.com/GitHub_Trending/py/pymc 问题-方案-验证-应用四象限框架 问题&#xff1a;均值回归的业务痛点 在数据分析实践中&#…...

TSL2561光传感器Arduino库原理与低功耗工程实践

1. TSL2561光强传感器Arduino库深度解析与工程实践1.1 传感器原理与硬件特性TSL2561是由TAOS&#xff08;现为AMS&#xff09;推出的高精度数字环境光传感器&#xff0c;采用CMOS工艺集成双通道光电二极管阵列&#xff0c;分别对可见光&#xff08;VIS&#xff09;和红外光&…...

WSL2上跑GraspNet避坑全记录:从CUDA版本冲突到Open3D图形显示,我花了4天踩的坑都在这了

WSL2环境下的GraspNet复现实战&#xff1a;十大典型问题与系统化解决方案 在Windows Subsystem for Linux 2&#xff08;WSL2&#xff09;环境中复现GraspNet这类涉及GPU计算与3D渲染的复杂AI项目&#xff0c;开发者往往会遇到各种环境配置、依赖冲突和图形显示问题。本文将基…...

网站外部 SEO 优化有哪些策略_SEO 网络推广与传统推广有什么区别

<h2>网站外部 SEO 优化有哪些策略</h2> <p>在当今的数字营销领域&#xff0c;外部 SEO 优化已经成为提升网站排名和流量的关键策略。外部 SEO&#xff08;Search Engine Optimization&#xff09;优化是一项通过外部手段提升网站在搜索引擎结果页面&#xff…...

别再死记硬背了!用矢量网络分析仪实测PA的P1dB和OIP3(附详细步骤与曲线解读)

矢量网络分析仪实战&#xff1a;PA的P1dB与OIP3测量全流程解析 在射频放大器设计与测试领域&#xff0c;P1dB和OIP3是两个无法绕开的性能指标。许多工程师虽然能背诵定义&#xff0c;但面对实验室里的矢量网络分析仪&#xff08;VNA&#xff09;时却无从下手。本文将彻底改变这…...

基于Go + gin+gorm+ rag+千问大模型 + pgvector 构建市场监管智能问答智能体

基于Go 千问大模型 pgvector构建市场监管智能问答智能体 一、项目背景 随着"放管服"改革的深入推进&#xff0c;市场监管领域政策法规不断更新&#xff0c;企业和公众对政策咨询的需求日益增长。传统的政策咨询模式存在响应慢、效率低、准确性差等问题&#xff0c;…...

用Python+OpenCV实现双目相机三维重建:从标定到triangulatePoints的完整流程

PythonOpenCV双目三维重建实战&#xff1a;从标定到点云生成的完整指南 当你第一次看到双目相机生成的彩色点云在屏幕上缓缓旋转时&#xff0c;那种震撼感难以言表。两个普通的USB摄像头&#xff0c;经过精确标定和算法处理&#xff0c;竟能重建出真实世界的三维结构。本文将带…...