PyGWalker Gradio API 指南
本指南介绍如何将 PyGWalker 集成到 Gradio 应用中,在 Gradio UI 中启用交互式数据可视化功能。
快速开始
要在 Gradio 应用中渲染 PyGWalker,请使用 get_html_on_gradio
函数:
import gradio as gr
import pandas as pd
from pygwalker.api.gradio import PYGWALKER_ROUTE, get_html_on_gradio
with gr.Blocks() as demo:
df = pd.read_csv("data.csv")
pyg_html = get_html_on_gradio(df, spec="./gw_config.json", spec_io_mode="rw")
gr.HTML(pyg_html)
app = demo.launch(app_kwargs={"routes": [PYGWALKER_ROUTE]})
关键函数: get_html_on_gradio
此函数生成嵌入在 Gradio 应用中的 PyGWalker 所需的 HTML。
重要参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
dataset | Union[DataFrame, Connector] | - | 输入数据源 |
spec | str | "" | 图表配置数据(ID、JSON 或 URL) |
spec_io_mode | Literal["r", "rw"] | "r" | Spec I/O 模式: "r" (只读) 或 "rw" (读写) |
kernel_computation | bool | None | 启用高性能内核计算 |
appearance | Literal['media', 'light', 'dark'] | 'media' | 主题设置 |
default_tab | Literal["data", "vis"] | "vis" | 默认显示的选项卡 |
最佳实践
- 数据加载:高效加载数据,考虑对大数据集进行缓存。
- 配置:使用单独的 JSON 文件(
spec
参数)进行图表配置,以便轻松管理和更新可视化。 - 性能:对于大数据集,将
kernel_computation=True
以提升性能。 - 主题:调整
appearance
参数以匹配 Gradio 应用的主题。 - 交互性:设置
spec_io_mode="rw"
以允许用户修改和保存图表配置。
高级用法
自定义路由
始终将 PYGWALKER_ROUTE
包含在 Gradio 应用的路由中:
app = demo.launch(app_kwargs={"routes": [PYGWALKER_ROUTE]})
这确保 PyGWalker 与 Gradio 应用之间的正常通信。
与其他 Gradio 组件结合
你可以将 PyGWalker 与其他 Gradio 组件结合,构建一个更全面的数据分析工具:
with gr.Blocks() as demo:
gr.Markdown("# 使用 PyGWalker 进行数据可视化")
with gr.Tab("PyGWalker 探索器"):
pyg_html = get_html_on_gradio(df, spec="./gw_config.json")
gr.HTML(pyg_html)
with gr.Tab("数据摘要"):
gr.DataFrame(df.describe())
with gr.Tab("原始数据"):
gr.DataFrame(df)
故障排除
- 如果可视化无法渲染,检查你的数据格式,并确保正确包含
PYGWALKER_ROUTE
。 - 对于大数据集的性能问题,尝试启用
kernel_computation
,并考虑数据采样技术。
有关详细信息和高级功能,请参阅 PyGWalker 文档 (opens in a new tab)。