Skip to content
PYGWALKER
Referência da API
Streamlit Component

Guia de API PyGWalker Streamlit

Este guia explica como integrar o PyGWalker com aplicativos Streamlit, fornecendo capacidades interativas de visualização de dados.

Classe StreamlitRenderer

A classe StreamlitRenderer é a interface principal para usar o PyGWalker em aplicativos Streamlit.

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

Parâmetros Principais

ParâmetroTipoPadrãoDescrição
datasetUnion[DataFrame, Connector]-Fonte de dados de entrada
specstr""Dados de configuração do gráfico (ID, JSON ou URL)
spec_io_modeLiteral["r", "rw"]"r"Modo de I/O da especificação: "r" (leitura) ou "rw" (leitura/escrita)
kernel_computationboolNoneHabilitar computação de kernel de alto desempenho
appearanceLiteral['media', 'light', 'dark']'media'Configuração de tema
default_tabLiteral["data", "vis"]"vis"Aba padrão a ser exibida

Métodos Principais

1. explorer()

Exibe a interface completa do GraphicWalker.

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

2. chart(index)

Renderiza um gráfico específico.

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

3. viewer()

Exibe uma versão somente visualização dos gráficos.

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

Melhores Práticas

  1. Caching: Use o cache do Streamlit para prevenir problemas de memória:

    @st.cache_resource
    def get_pyg_renderer():
        df = pd.read_csv("data.csv")
        return StreamlitRenderer(df, spec="./gw_config.json")
  2. Grandes Conjuntos de Dados: Habilite kernel_computation=True para melhor desempenho com grandes conjuntos de dados.

  3. Layout: Utilize as opções de layout do Streamlit (e.g., st.set_page_config(layout="wide")) para uma exibição otimizada.

  4. Abas: Organize diferentes visualizações PyGWalker usando abas do Streamlit para uma interface mais limpa.

Exemplo: Aplicativo Streamlit com PyGWalker

import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
 
st.set_page_config(page_title="PyGWalker no Streamlit", layout="wide")
st.title("Demonstração do PyGWalker no 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(["Explorador", "Perfil de Dados", "Gráficos"])
 
with tab1:
    renderer.explorer()
 
with tab2:
    renderer.explorer(default_tab="data")
 
with tab3:
    st.subheader("Registrado por Dia da Semana")
    renderer.chart(0)
    st.subheader("Registrado por Dia")
    renderer.chart(1)

Avançado: Construindo uma Alternativa ao Tableau/PowerBI

Para criar uma alternativa de código aberto ao Tableau/PowerBI que possa lidar com grandes conjuntos de dados:

  1. Utilize o PyGWalker para visualizações interativas
  2. Use o Streamlit como a estrutura de aplicativo web
  3. Integre com Snowflake para manipulação de dados em larga escala

Esta combinação oferece uma solução poderosa e escalável para visualização e análise de dados.

Para mais detalhes e uso avançado, consulte a documentação do PyGWalker (opens in a new tab).

Perguntas Frequentes Relacionadas

Como construir uma alternativa online de código aberto ao Tableau/PowerBI que pode lidar com grandes quantidades de dados?

Resposta: Você pode usar pygwalker + streamlit + snowflake para construir uma alternativa online de código aberto ao Tableau/PowerBI que pode lidar com grandes quantidades de dados.