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

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

使用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方法的参数整理表格:




07-12 12:57