Skip to content
PYGWALKER
Referencia de API
Streamlit Component

Guía de la API de PyGWalker para Streamlit

Esta guía explica cómo integrar PyGWalker con aplicaciones de Streamlit, proporcionando capacidades interactivas de visualización de datos.

Clase StreamlitRenderer

La clase StreamlitRenderer es la interfaz principal para usar PyGWalker en aplicaciones de Streamlit.

from pygwalker.api.streamlit import StreamlitRenderer
 
renderer = StreamlitRenderer(df, spec="./gw_config.json")

Parámetros Clave

ParámetroTipoValor por DefectoDescripción
datasetUnion[DataFrame, Connector]-Fuente de datos de entrada
specstr""Datos de configuración del gráfico (ID, JSON o URL)
spec_io_modeLiteral["r", "rw"]"r"Modo de E/S de la especificación: "r" (leer) o "rw" (leer/escribir)
kernel_computationboolNoneActivar computación de núcleo de alto rendimiento
appearanceLiteral['media', 'light', 'dark']'media'Configuración del tema
default_tabLiteral["data", "vis"]"vis"Pestaña predeterminada a mostrar

Métodos Principales

1. explorer()

Muestra la interfaz completa de GraphicWalker.

renderer.explorer(width=None, height=1000, scrolling=False, default_tab="vis")

2. chart(index)

Renderiza un gráfico específico.

renderer.chart(index, width=None, height=1000, scrolling=False)

3. viewer()

Muestra una versión de solo visualización de los gráficos.

renderer.viewer(width=None, height=1000, scrolling=False)

Mejores Prácticas

  1. Caché: Usa la caché de Streamlit para prevenir problemas de memoria:

    @st.cache_resource
    def get_pyg_renderer():
        df = pd.read_csv("data.csv")
        return StreamlitRenderer(df, spec="./gw_config.json")
  2. Grandes Conjuntos de Datos: Activa kernel_computation=True para un mejor rendimiento con grandes conjuntos de datos.

  3. Diseño: Usa las opciones de diseño de Streamlit (por ejemplo, st.set_page_config(layout="wide")) para una visualización óptima.

  4. Pestañas: Organiza diferentes vistas de PyGWalker usando pestañas de Streamlit para una interfaz más ordenada.

Ejemplo: Aplicación de Streamlit con PyGWalker

import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
 
st.set_page_config(page_title="PyGWalker en Streamlit", layout="wide")
st.title("Demostración de PyGWalker en Streamlit")
 
@st.cache_resource
def get_pyg_renderer() -> StreamlitRenderer:
    df = pd.read_csv("data.csv")
    return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")
 
renderer = get_pyg_renderer()
 
tab1, tab2, tab3 = st.tabs(["Explorer", "Perfilado de Datos", "Gráficos"])
 
with tab1:
    renderer.explorer()
 
with tab2:
    renderer.explorer(default_tab="data")
 
with tab3:
    st.subheader("Registrados por Día de la Semana")
    renderer.chart(0)
    st.subheader("Registrados por Día")
    renderer.chart(1)

Avanzado: Construyendo una Alternativa a Tableau/PowerBI

Para crear una alternativa de código abierto a Tableau/PowerBI que pueda manejar grandes conjuntos de datos:

  1. Usa PyGWalker para visualizaciones interactivas
  2. Aprovecha Streamlit como el marco de aplicaciones web
  3. Integra con Snowflake para manejar datos a gran escala

Esta combinación proporciona una solución potente y escalable para la visualización y el análisis de datos.

Para más detalles y usos avanzados, consulta la documentación de PyGWalker (opens in a new tab).

P&R Relacionadas

¿Cómo construir una alternativa open source en línea a Tableau/PowerBI que pueda manejar grandes cantidades de datos?

Respuesta: Puedes usar pygwalker + streamlit + snowflake para construir una alternativa open source en línea a Tableau/PowerBI que pueda manejar grandes cantidades de datos.