Cómo integrar PyGWalker con Shiny-Python
Shiny-Python
es un gran marco de trabajo para construir aplicaciones web interactivas utilizando Python, y combinarlo con pygwalker
abre nuevas oportunidades para crear aplicaciones web interactivas basadas en datos. En este tutorial, te guiaré a través del proceso de integrar pygwalker
con Shiny-Python
.
Requisitos previos:
- Asegúrate de tener instaladas las bibliotecas
shiny
ypygwalker
. Puedes hacer esto usando pip:
pip install shiny pygwalker
Guía paso a paso:
1. Importar las bibliotecas necesarias
Comienza importando los módulos requeridos:
from shiny import App, ui
import pygwalker as pyg
from datasets import load_dataset
2. Cargar el conjunto de datos
Para este tutorial, estamos utilizando el conjunto de datos de NYC-Airbnb, pero puedes reemplazarlo con cualquier conjunto de datos que prefieras:
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
3. Diseñar la interfaz de usuario de Shiny
Define la interfaz de usuario (UI) de la aplicación Shiny usando los componentes ui
:
app_ui = ui.page_fluid(
ui.h1("Usando pygwalker con Shiny"),
ui.markdown("Esta es una demostración de cómo utilizar [pygwalker](https://github.com/Kanaries/pygwalker) con Shiny."),
ui.HTML(pyg.walk(df, spec="./viz-config.json", return_html=True, debug=False)),
)
Aquí tienes un desglose rápido de los componentes de la interfaz de usuario:
ui.h1()
: Añade un encabezado a la aplicación Shiny.ui.markdown()
: Te permite incluir texto con formato markdown para descripciones o información adicional.ui.HTML()
: Aquí es donde entra en juegopygwalker
. La funciónpyg.walk()
transforma el conjunto de datos en una visualización interactiva, que luego se representa en la aplicación Shiny a través de este componente HTML.
4. Definir la función del servidor
Aunque en este ejemplo la función del servidor está vacía, es donde se definiría cualquier comportamiento reactivo. Conforme la aplicación se vuelve más compleja, es posible que te encuentres llenando esta sección con una lógica más interactiva.
def server(input, output, session):
...
5. Instanciar y ejecutar la aplicación
Finalmente, crea una instancia de la aplicación Shiny y luego ejecútala:
app = App(app_ui, server)
Si quieres lanzar la aplicación de inmediato, puedes agregar la línea:
app.run()
o
shiny run --reload
Conclusión
Al integrar pygwalker
con Shiny-Python
, puedes aprovechar el poder de ambas herramientas para construir aplicaciones web impresionantes e interactivas de visualización de datos. Esto no solo brinda una experiencia de usuario rica, sino que también permite que una audiencia más amplia interactúe con tus conocimientos sobre los datos. ¡Comienza y aprovecha el potencial de tus conjuntos de datos!
Referencias
Código de demostración pygwalker-in-shiny (opens in a new tab)