使用Gradio库进行交互式数据可视化:Timeseries模块介绍


❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

博主原文链接:https://www.yourmetaverse.cn/nlp/439/

请添加图片描述

(封面图由文心一格生成)

使用Gradio库进行交互式数据可视化:Timeseries模块介绍

在数据分析和机器学习任务中,对时间序列数据进行可视化是一项常见且重要的任务。Gradio是一个功能强大的Python库,可以帮助我们快速构建交互式界面,并且它还提供了一个特殊的模块,即Timeseries模块,用于处理时间序列数据的可视化。

Gradio的Timeseries模块允许用户上传和预览时间序列的CSV文件,或者以图形方式显示由时间序列组成的DataFrame。通过这个模块,用户可以通过拖放文件或上传文件来加载时间序列数据,并以图形形式展示数据。

该模块的初始化参数包括:

  • value:用于指定时间序列CSV文件的路径,可以是字符串或可调用对象。如果是可调用对象,该函数将在应用程序加载时调用,以设置组件的初始值。
  • x:x轴(时间)序列的列名,如果CSV文件没有标题,则为None。
  • y:y轴序列的列名,如果有多个序列,则可以是列名的列表。如果CSV文件没有标题,则为None。
  • colors:用于每条线图的颜色列表。
  • label:组件在界面中的名称。
  • every:如果value是可调用对象,在客户端连接打开时每隔指定的秒数运行函数。如果没有设置,则不生效。
  • show_label:是否显示组件的名称。
  • container:是否将组件放置在容器中,提供一些额外的边框填充。
  • scale:相对于相邻组件的宽度比例。例如,如果组件A的scale为2,组件B的scale为1,那么A的宽度将是B的两倍。应为整数。
  • min_width:最小像素宽度,如果屏幕空间不足以满足该值,则换行。如果某个scale值导致该组件比min_width更窄,则优先使用min_width参数。
  • interactive:是否允许用户上传时间序列CSV文件,如果为False,则只能用于显示时间序列数据。如果未提供,则根据组件是作为输入还是输出进行推断。
  • visible:是否显示该组件。
  • elem_id:可选的字符串,用作该组件在HTML DOM中的ID,可以用于定位CSS样式。
  • elem_classes:可选的字符串列表,用作该组件在HTML DOM中的类名,可以用于定位CSS样式。

除了初始化参数外,Timeseries模块还提供了一个change方法,用于在组件的值发生更改时触发事件。该方法适用于在Gradio Blocks中使用该组件的情况。

change方法的参数包括:

  • fn:需要包装为界面的函数,通常是一个机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回单个值或值的元组,元组中的每个元素对应一个输出组件。
  • inputs:作为输入的组件列表。
  • outputs:作为输出的组件列表。
  • api_name:定义端点在API文档中的显示方式。
  • status_tracker:用于跟踪状态的对象。
  • scroll_to_output:如果为True,在完成后将滚动到输出组件。
  • show_progress:在等待期间是否显示进度动画。
  • queue:是否将请求放入队列中。
  • batch:如果为True,则函数应处理一批输入,即接受每个参数的输入值列表。然后函数必须返回一个元组的列表(即使只有一个输出组件),元组中的每个列表对应一个输出组件。
  • max_batch_size:如果从队列中调用此方法,则最大批处理输入数量。
  • preprocess:是否在运行函数之前运行组件数据的预处理。
  • postprocess:是否在将函数输出返回给浏览器之前运行组件数据的后处理。
  • cancels:需要在此事件触发时取消的其他事件列表。
  • every:在客户端连接打开时每隔指定的秒数运行此事件。

通过Gradio的Timeseries模块,我们可以方便地进行时间序列数据的交互式可视化,无论是上传CSV文件还是直接在界面中显示数据,都能够快速实现。该模块的灵活性和易用性使得数据分析和机器学习工作变得更加高效和直观。

参数详解

下面是关于Timeseries模块和change方法的参数整理表格:

参数名数据类型默认值描述
valuestr/CallableNone用于指定时间序列的CSV文件路径。如果是Callable类型,则在应用程序加载时调用该函数以设置组件的初始值。
xstrNonex(时间)序列的列名。如果CSV文件没有标题,则为None,此时第一列为x序列。
ystr/list[str]Noney序列的列名,如果有多个序列,则为列名列表。如果CSV文件没有标题,则为None,此时第一列之后的每一列都是y序列。
colorslist[str]None每个线图使用的颜色的有序列表。
labelstrNone在界面中显示的组件名称。
everyfloatNone如果value是一个callable,将在客户端连接打开时每隔’every’秒运行一次该函数。否则没有影响。队列必须启用。可以通过此组件的.load_event属性访问事件(例如取消它)。
show_labelboolTrue如果为True,则显示标签。
containerboolTrue如果为True,则将组件放置在容器中,提供一些额外的边框填充。
scaleintNone相对于相邻组件在一行中的宽度比例。例如,如果组件A的scale=2,组件B的scale=1,则A的宽度是B的两倍。应为整数。
min_widthint160最小像素宽度,如果屏幕空间不足以满足此值,将换行。如果某个scale值导致该组件比min_width更窄,则首先遵守min_width参数。
interactiveboolNone如果为True,则允许用户上传时间序列的CSV文件;如果为False,则仅可用于显示时间序列数据。如果未提供,将根据组件是用作输入还是输出进行推断。
visibleboolTrue如果为False,则组件将被隐藏。
elem_idstrNone可选字符串,作为此组件在HTML DOM中的id分配。可用于定位CSS样式。
elem_classeslist[str]/strNone可选的字符串列表,作为此组件在HTML DOM中的类分配。可用于定位CSS样式。
fnCallableNone必需参数。当组件的值发生更改时触发该监听器,无论是因为用户输入(例如用户在文本框中输入)还是因为函数更新(例如图像从事件触发的输出中接收到值)。每个函数参数对应一个输入组件,函数应返回单个值或元组,其中元组的每个元素对应一个输出组件。
inputsComponent/list[Component]/set[Component]/NoneNone要用作输入的gradio.components的列表。如果函数不需要输入,则应该是一个空列表。
outputsComponent/list[Component]/NoneNone要用作输出的gradio.components的列表。如果函数不返回输出,则应该是一个空列表。
api_namestr/None/Literal[False]None定义端点在API文档中的显示方式。可以是字符串、None或False。如果为False,则不会在api文档中公开该端点。如果设置为None,则该端点将作为一个无名端点在api文档中公开,尽管这种行为将在Gradio 4.0中更改。如果设置为字符串,则该端点将以给定的名称在api文档中公开。
status_trackerNoneNone
scroll_to_outputboolFalse如果为True,则在完成时将滚动到输出组件。
show_progressLiteral[‘full’, ‘minimal’, ‘hidden’]“full”如果为True,则在等待时显示进度动画。
queuebool/NoneNone如果为True,则将请求放入队列(如果队列已启用)。如果为False,则即使队列已启用,也不会将此事件放入队列。如果为None,则使用gradio应用程序的队列设置。
batchboolFalse如果为True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表的长度应相等(并且最长为max_batch_size)。然后函数 必须 返回一个元组的列表(即使只有1个输出组件),其中元组中的每个列表对应一个输出组件。
max_batch_sizeint4如果从队列调用此方法,则批处理在一起的最大输入数(仅当batch=True时才相关)。
preprocessboolTrue如果为False,则在运行’fn’之前不运行组件数据的预处理(例如,如果使用Image组件以base64字符串形式传递,将其保留为base64字符串)。
postprocessboolTrue如果为False,则在将’fn’输出返回给浏览器之前不运行组件数据的后处理。
cancelsdict[str, Any]/list[dict[str, Any]]/NoneNone要在此监听器触发时取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但正在运行的函数将被允许完成。
everyfloat/NoneNone在客户端连接打开时每隔’every’秒运行此事件。以秒为单位解释。队列必须启用。

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️

👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈

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

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

相关文章

【Hippo4j监控Web容器Tomcat线程池】

🚀 线程池管理工具-Hippo4j 🚀 🌲 AI工具、AI绘图、AI专栏 🍀 🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者&#…

traceId跟踪请求全流程日志

一个系统被拆分成N多个模块,这些模块负责不同的功能,组合成一套系统,最终可以提供丰富的功能。在这种分布式架构中,一次请求往往需要涉及到多个服务,如下图: 服务之间的调用错综复杂,对于维护的…

JVM系列(6)——类加载器详解双亲委派

一、类加载器 类加载器是一个负责加载类的对象,用于实现类加载过程中的加载这一步。 主要作用就是加载 Java 类的字节码( .class 文件)到 JVM 中(在内存中生成一个代表该类的 Class 对象)。 加载过程可以看 JVM系列&a…

《面试1v1》Kafka基础

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

RabbitMQ之交换机

RabbitMQ之交换机 1. Exchanges1.1 Exchanges 概念1.2 Exchanges 的类型1.3 无名 exchange 2. 临时队列3. 绑定(bindings)4. Fanout4.1 Fanout 介绍4.2 Fanout 实战 5. Direct exchange5.1 Direct exchange 介绍5.2 多重绑定5.3 实战 6. Topics6.1 之前类…

Python(十二)常见的数据类型

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

走进分布式系统(分布式系统简介)

走进分布式系统 分布式系统简介分布式系统的架构演变过程初创期发展期成熟期 分布式系统的特性什么是分布式系统特性 分布式系统带来的问题 分布式中间件简介什么是分布式中间件常用的分布式中间件 分布式系统简介 分布式系统的架构演变过程 讲在前面,首先我们要了…

耳夹式骨传导耳机有哪些比较好用?这三个款式不容错过!

骨传导耳机由于不入耳,不用担心耳道健康问题,越来越受到广大网友的喜欢,而传统的入耳式耳机,则因为长时间佩戴会耳朵痛,容易掉落等问题逐渐的被网友抛弃,那么在骨传导耳机市场种类这么多的情况下&#xff0…

X6 基于VUE流程编辑器开发

先看效果图 主要插件X6 x6-vue-shape antv/x6-plugin-dnd 代码太多没有整理出来

100天精通Golang(基础入门篇)——第16天:深入解析Go语言包的使用和包管理

🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《I…

【ArcGIS微课1000例】0070:制作宾馆酒店分布热度热力图

本文讲解在ArcGIS中,基于长沙市酒店宾馆分布矢量点数据(POI数据)绘制酒店分布热力图。 相关阅读: 【GeoDa实用技巧100例】004:绘制长沙市宾馆热度图 【ArcGIS Pro微课1000例】0028:绘制酒店分布热力图(POI数据) 文章目录 一、加载宾馆分布数据二、绘制热度图一、加载宾…

使用亚马逊(AWS)云服务在S3上实现图片缩放功能(CloudFront/S3[AccessPoint/LambdaAccessPoint])

亚马逊云服务中的S3对象存储功能和国内阿里云的oss对象存储使用基本一致。但是涉及到存储内容处理时,两家有些差别。 比如:对于云存储中的图片资源,阿里云比较人性化对于基本的缩放裁剪功能已经帮我们封装好了,只需要在url地址后…