使用Gradio库创建交互式散点图

news2024/9/21 5:35:58

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

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

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

请添加图片描述

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

使用Gradio库创建交互式散点图

Gradio是一个强大的库,可以帮助我们快速创建交互式的数据可视化应用程序。其中的ScatterPlot模块是Gradio提供的一个组件,用于创建散点图。本文将介绍ScatterPlot模块的用法以及其change和clear两个方法。

散点图是一种常用的数据可视化方式,可以直观地展示数据的分布情况。Gradio库的ScatterPlot模块提供了一个方便易用的接口,可以快速创建交互式的散点图。

ScatterPlot模块的初始化参数非常丰富,可以通过设置这些参数来定制散点图的外观和行为。其中一些重要的参数包括:

  • value:用于显示在散点图中的数据,可以是一个pandas DataFrame对象或一个可调用对象。
  • x和y:分别对应散点图的x轴和y轴的数据列。
  • color:用于确定散点的颜色的列名。
  • size:用于确定散点的大小的列名。
  • title:散点图的标题。
  • tooltip:当用户将鼠标悬停在散点上时显示的提示信息。

除了这些基本参数外,ScatterPlot模块还提供了许多其他参数,用于设置坐标轴标题、图例标题、图例位置、图表大小等等。

在使用ScatterPlot模块时,我们可以通过change方法和clear方法来响应散点图的数值变化和清除操作。

change方法是一个监听器,当散点图的数值发生变化时被触发。我们可以将一个函数传递给change方法,这个函数通常是一个机器学习模型的预测函数。change方法会根据函数的参数与输入组件进行匹配,并将函数的返回值更新到输出组件上。

clear方法是另一个监听器,当用户点击散点图上的清除按钮时被触发。我们可以将一个函数传递给clear方法,这个函数会在用户清除散点图时执行一些操作,比如重置模型的状态或清空输出组件的值。

使用Gradio库创建交互式散点图非常简单。我们可以通过设置ScatterPlot模块的各种参数来自定义散点图的外观和行为,然后将其与其他组件组合在一起,形成一个完整的交互界面。

参数详解

下面是关于ScatterPlot模块参数以及change和clear方法的整理表格:

参数数据类型默认值描述
valuepd.DataFrame | Callable | NoneNone包含要在散点图中显示的数据的 pandas DataFrame 或可调用对象。如果是可调用对象,当应用程序加载时将调用该函数以设置组件的初始值。
xstr | NoneNone对应于 x 轴的列。
ystr | NoneNone对应于 y 轴的列。
colorstr | NoneNone用于确定点颜色的列。如果该列包含数字数据,则 gradio 将对该列数据进行插值,以使小值对应浅色,大值对应深色。
sizestr | NoneNone用于确定点大小的列。应包含数字数据,以便 gradio 可以将数据映射到点大小。
shapestr | NoneNone用于确定点形状的列。应包含分类数据。gradio 将每个唯一值映射到不同的形状。
titlestr | NoneNone在图表顶部显示的标题。
tooltiplist[str] | str | NoneNone当用户悬停在图上的点上时,在工具提示中显示的列(或列的列表)。
x_titlestr | NoneNone给 x 轴指定的标题。默认情况下,使用 x 参数的值。
y_titlestr | NoneNone给 y 轴指定的标题。默认情况下,使用 y 参数的值。
color_legend_titlestr | NoneNone给颜色图例指定的标题。默认情况下,使用 color 参数的值。
size_legend_titlestr | NoneNone给大小图例指定的标题。默认情况下,使用 size 参数的值。
shape_legend_titlestr | NoneNone给形状图例指定的标题。默认情况下,使用 shape 参数的值。
color_legend_positionLiteral[‘left’, ‘right’, ‘top’, ‘bottom’, ‘top-left’, ‘top-right’, ‘bottom-left’, ‘bottom-right’, ‘none’] | NoneNone颜色图例的位置。如果传递字符串值 ‘none’,则省略此图例。有关其他有效位置值,请参见:https://vega.github.io/vega/docs/legends/#orientation。
size_legend_positionLiteral[‘left’, ‘right’, ‘top’, ‘bottom’, ‘top-left’, ‘top-right’, ‘bottom-left’, ‘bottom-right’, ‘none’] | NoneNone大小图例的位置。如果传递字符串值 ‘none’,则省略此图例。有关其他有效位置值,请参见:https://vega.github.io/vega/docs/legends/#orientation。
shape_legend_positionLiteral[‘left’, ‘right’, ‘top’, ‘bottom’, ‘top-left’, ‘top-right’, ‘bottom-left’, ‘bottom-right’, ‘none’] | NoneNone形状图例的位置。如果传递字符串值 ‘none’,则省略此图例。有关其他有效位置值,请参见:https://vega.github.io/vega/docs/legends/#orientation。
heightint | NoneNone图的高度(以像素为单位)。
widthint | NoneNone图的宽度(以像素为单位)。
x_limlist[int | float] | NoneNone包含 x 轴限制的元组或列表,格式为 [x_min, x_max]。
y_limlist[int | float] | NoneNone包含 y 轴限制的元组或列表,格式为 [y_min, y_max]。
captionstr | NoneNone(可选)显示在图下方的说明。
interactivebool | NoneTrue用户是否可以通过鼠标或触控板进行平移或缩放与图的交互。
labelstr | NoneNone(可选)显示在图左上角的标签。
everyfloat | NoneNone如果 value 是可调用对象,则在客户端连接打开时每隔 ‘every’ 秒运行该函数。否则不起作用。队列必须启用。事件可通过此组件的 .load_event 属性访问(例如取消该事件)。
show_labelboolTrue是否显示标签。
containerboolTrue是否显示容器。
scaleint | NoneNone比例。
min_widthint160最小宽度。
visibleboolTrue图是否可见。
elem_idstr | NoneNone可选字符串,用作 HTML DOM 中此组件的 id。可用于指定 CSS 样式。
elem_classeslist[str] | str | NoneNone可选字符串列表,用作 HTML DOM 中此组件的类。可用于指定 CSS 样式。

change和select方法参数

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

参数数据类型默认值描述
fnCallable or None封装为接口的函数。通常是机器学习模型的预测函数。函数的每个参数对应一个输入组件,函数应返回单个值或一个元组,其中每个元素对应一个输出组件。
inputsComponent, list[Component], set[Component] or None用作输入的Gradio组件的列表。如果函数不需要输入,应将其设置为空列表。
outputsComponent, list[Component] or None用作输出的Gradio组件的列表。如果函数不返回输出,应将其设置为空列表。
api_namestr, None or Literal[False]None定义端点在API文档中的显示方式。可以是字符串、None或False。如果为False,则端点不会显示在API文档中。如果设置为None,则端点将以无名称的端点显示在API文档中,尽管此行为将在Gradio 4.0中更改。如果设置为字符串,则端点将以给定名称显示在API文档中。
status_trackerNone
scroll_to_outputboolFalse如果为True,在完成时将滚动到输出组件。
show_progressLiteral[‘full’, ‘minimal’, ‘hidden’]“full”如果为True,在等待期间显示进度动画。
queuebool or NoneNone如果为True,将请求放入队列中(如果队列已启用)。如果为False,即使启用了队列,也不会将此事件放入队列。如果为None,则使用gradio应用程序的队列设置。
batchboolFalse如果为True,则函数应处理一批输入,这意味着它应接受每个参数的输入值列表。列表应具有相等的长度(最多为max_batch_size的长度)。然后,函数必须返回一个元组列表(即使只有一个输出组件),其中元组中的每个列表对应一个输出组件。
max_batch_sizeint4如果从队列中调用此方法,则最多将输入批处理到一起的最大数量(仅适用于batch=True)。
preprocessboolTrue如果为False,则在运行’fn’之前不会对组件数据进行预处理(例如,如果使用Image组件调用此方法,将其保留为base64字符串)。
postprocessboolTrue如果为False,则在将’fn’输出返回给浏览器之前不会对组件数据进行后处理。
cancelsdict[str, Any], list[dict[str, Any]] or NoneNone要在此监听器触发时取消的其他事件列表。例如,设置cancels=[click_event]将取消click_event,其中click_event是另一个组件的.click方法的返回值。尚未运行的函数(或正在迭代的生成器)将被取消,但正在运行的函数将被允许完成。
everyfloat or NoneNone在客户端连接打开时,每隔’every’秒运行此事件。以秒为单位解释。队列必须启用。

本文介绍了Gradio库的ScatterPlot模块及其change和clear方法。通过使用这些功能强大的工具,我们可以轻松创建出交互式的散点图,并根据用户的操作进行相应的数据处理和展示。使用Gradio库,数据可视化变得简单而又有趣。


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

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

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

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

相关文章

【二分查找】367. 有效的完全平方数

367. 有效的完全平方数 解题思路 使用二分查找查找区间是[1,num]针对mid * mid和num进行比较 然后更改查找区间 class Solution {public boolean isPerfectSquare(int num) {// 二分查找 // 区间就是[1,num.length]long left 1;long right num;long mid 0;while(left <…

高薪Offer收割机之Redis的数据持久化

Redis的数据持久化有两种方式:RDB和AOF 先来看第一种方式RDB持久化: RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照,简单的说就是把内存中所有的数据都记录到磁盘中,当Redis服务器重启以后,从磁盘中读取文件恢复内存中的数据。 有两…

Windows平台软件工程关键路径PDM图

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来聊聊Windows平台下软件工程实践中涉及关键路径问题时常用的PDM图。 PDM图 我们用工程实例来完整讲解PDM图的节点表示&#xff0c; ES(最早开始时间) 、 LS(最迟开始时间)、EF(最早完成时间)、LF(最迟…

12 Java选择语句(switch)

1 选择语句常规用法 switch语法如下&#xff1a; swicth(输入的变量){ case 1 : //如果变量等于1 System.out.println("星期一"); break; case 2 : //如果变量等于2 System.out.println("星期二"); break; default: // 如果变量不是1和2 System.out.pr…

【Python】Python项目打包发布(五)(制作Windows安装包)

Python项目打包发布汇总 【Python】Python项目打包发布&#xff08;一&#xff09;&#xff08;基于Pyinstaller打包多目录项目&#xff09; 【Python】Python项目打包发布&#xff08;二&#xff09;&#xff08;基于Pyinstaller打包PyWebIO项目&#xff09; 【Python】Pytho…

学生成绩管理系统实现(CSS+JQuery+PHP+MySQL)

学生成绩管理系统实现&#xff08;CSSJQueryPHPMySQL&#xff09; 一、项目背景 本项目基于学校教务系统的背景&#xff0c;根据大学生选课以及学校对学生成绩的管理&#xff0c;实现了一个学校的学生成绩管理网站。另外在学生功能模块实现了选课系统&#xff0c;可供学生选课…

Ext4文件系统介绍 - 理论篇

Overview ext4文件系统分割成多个block groups&#xff0c;为了解决碎片化问题&#xff0c;block allocator尽量将一个文件的block放在一个group中。block groups的size通过sb.s_blocks_per_group指定&#xff0c;同样也可以通过8*block_size_in_bytes计算得到。block默认大小…

【Zookeeper】终端操作常用命令

文章目录 服务端常用命令客户端常用命令 zookeeper版本3.7.1 Zookeeper是一个开源的分布式协调服务。 Zookeeper是Apache软件基金会的一个项目&#xff0c;它提供了分布式应用程序协调的通用服务&#xff0c;如分布式同步、命名服务、集群维护等&#xff0c;以简化分布式应用协…

【计算机组成与体系结构Ⅰ】实验6 熟悉Vivado及MINISYS-1实验系统

一、实验目的 1&#xff1a;熟悉Vivado的开发环境及开发流程&#xff0c;掌握Vivado中Verilog HDL文本输入设计方法&#xff0c;包括仿真、综合、实现与下载。熟悉Minisys开发板的功能和使用方法。 2&#xff1a;学会可配置IP核的设计与封装方法&#xff0c;深入理解与门逻辑…

Linux驱动入门(五)——简单的字符设备驱动程序

文章目录 前言字符设备驱动程序框架字符设备和块设备主设备号和次设备号申请和释放设备号 初识cdev结构cdev结构体file_operations结构体cdev和file_operation结构体的关系inode结构体 字符设备驱动的组成字符设备加载和卸载函数file_operations结构体和其他成员函数驱动程序与…

Tomcat面试题

江湖无名 安心练剑 关注微信公众号&#xff1a;程序三两行 获取最新版面试资料、java学习路线 1、Tomcat 的缺省端口是多少&#xff0c;怎么修改&#xff1f; 1&#xff09;找到 Tomcat 目录下的 conf 文件夹 2&#xff09;进入 conf 文件夹里面找到 server.xml 文件 3&…

Elasticsearch】文档操作

目录 3.文档操作 3.1.新增文档 3.2.查询文档 3.3.删除文档 3.4.修改文档 3.4.1.全量修改 3.4.2.增量修改 3.5.总结 3.文档操作 3.1.新增文档 语法&#xff1a; POST /索引库名/_doc/文档id {"字段1": "值1","字段2": "值2"…

AUTOSAR CP标准的RTE和BSW各模块的设计及开发工作

AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;是一种开放的汽车电子系统架构标准&#xff0c;旨在提供一种统一的软件架构&#xff0c;以实现汽车电子系统的模块化和可重用性。 AUTOSAR标准中的两个重要模块是RTE&#xff08;Runtime Environment&…

YOLOV5/V7动态多Batch推理,GPU预处理、后处理C++源码

YOLO系列多batch处理后处理代码&#xff0c;C代码&#xff0c;结构清晰&#xff0c;自己后期会继续发布真实场景项目&#xff1b;关注公众号欢迎下载。 一、获取链接 所有源码获取方法&#xff0c;链接&#xff1a;https://www.cnblogs.com/shenduxuexizahuopu/p/17538815.htm…

【LeetCode】HOT 100(22)

题单介绍&#xff1a; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合初识算法与数据结构的新手和想要在短时间内高效提升的人&#xff0c;熟练掌握这 100 道题&#xff0c;你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

【Python】Python实现串口通信(Python+Stm32)

&#x1f389;欢迎来到Python专栏~Python实现串口通信 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望…

在linux中安装HAProxy

使用xfrp将压缩包上传到linux的opt目录下 1.解压HAProxy安装包 tar -zxvf haproxy-1.8.12.tar.gz 2. 查看点钱的内核及版本: uname -r 3. 根据内核版本选择编译参数 cd haproxy-1.8.12 cat README 4. 编译安装HAProxy make TARGETlinux2628 ARCHx86_64 PREFIX/usr/local…

测试,写用例!真有必要?

今天的文章是想跟所有小伙伴讨论软件测试工作中必不可少的一项工作&#xff1a;写测试用例&#xff0c;但目前还有很多公司并不重视写测试用例&#xff0c;觉得写测试用例是浪费时间&#xff0c;还不如拿这些时间来执行测试&#xff0c;那我们真的有必要写测试用例么&#xff1…

算法与数据结构-递归

文章目录 什么是递归递归需要满足的三个条件递归可能存在的问题堆栈溢出重复计算 总结 什么是递归 递归是一种直接或者间接调用自身函数或者方法的算法&#xff08;或者编程技巧&#xff09;&#xff0c;应用非常广泛。我们举个例子来说明什么是递归&#xff1a; 推荐注册返佣金…

join的作用【A中调用B.join表示 B先完成后A再继续】【b.join 表示b先完成】

★ 2.5 等待一个线程-join() ★★★A中调用B.join表示 B先完成后A再继续 有时&#xff0c;我们需要等待一个线程完成它的工作后&#xff0c;才能进行自己的下一步工作。例如&#xff0c;张三只有等李四转账成功&#xff0c;才决定是否存钱&#xff0c;这时我们需要一个方法明确…