如何将PyGWalker与Shiny-Python集成
Shiny-Python
是一个很好的用于使用Python构建交互式Web应用程序的框架,与pygwalker
结合使用可以为创建数据驱动的交互式Web应用程序开辟新的途径。在本教程中,我们将指导您将pygwalker
与Shiny-Python
集成的过程。
先决条件:
- 确保已安装
shiny
和pygwalker
库。您可以使用pip安装它们:
pip install shiny pygwalker
逐步指南:
1. 导入所需库
首先导入所需的模块:
from shiny import App, ui
import pygwalker as pyg
from datasets import load_dataset
2. 加载数据集
在本教程中,我们使用了NYC-Airbnb数据集,但您可以用任何您喜欢的数据集替换它:
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
3. 设计Shiny用户界面
使用ui
组件定义Shiny应用程序的用户界面(UI):
app_ui = ui.page_fluid(
ui.h1("使用pygwalker与Shiny"),
ui.markdown("这是一个使用[pygwalker](https://github.com/Kanaries/pygwalker)与Shiny的演示。"),
ui.HTML(pyg.walk(df, spec="./viz-config.json", return_html=True, debug=False)),
)
下面是UI组件的简要说明:
ui.h1()
: 向Shiny应用程序添加一个标题。ui.markdown()
: 允许您包含用于说明或其他信息的Markdown格式文本。ui.HTML()
: 这是pygwalker
发挥作用的地方。pyg.walk()
函数将数据集转换为交互式可视化,然后通过这个HTML组件在Shiny应用程序中呈现。
4. 定义服务器函数
虽然在此示例中,服务器函数为空,但在其中可以定义任何反应式行为。随着应用程序变得更加复杂,您可能会发现自己在此部分添加更多的交互逻辑。
def server(input, output, session):
...
5. 实例化和运行应用程序
最后,创建Shiny应用程序实例,然后运行它:
app = App(app_ui, server)
如果您想立即启动应用程序,可以添加以下代码行:
app.run()
或者
shiny run --reload
结论
通过将pygwalker
与Shiny-Python
集成,您可以利用两个工具的能力来构建令人印象深刻且交互式的数据可视化Web应用程序。这不仅提供了丰富的用户体验,还使更广泛的用户群体可以参与到您的数据洞察中。立即开始,并释放您的数据集的潜力!