Skip to content
PYGWALKER
Tutoriales
Cómo integrar PyGWalker con Shiny-Python

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:

  1. Asegúrate de tener instaladas las bibliotecas shiny y pygwalker. 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 juego pygwalker. La función pyg.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)