Skip to content
PYGWALKER
Référence de l'API
Streamlit Component

Guide de l'API PyGWalker Streamlit

Ce guide explique comment intégrer PyGWalker dans les applications Streamlit, offrant des capacités de visualisation de données interactives.

Classe StreamlitRenderer

La classe StreamlitRenderer est l'interface principale pour utiliser PyGWalker dans les applications Streamlit.

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

Paramètres Clés

ParamètreTypeDéfautDescription
datasetUnion[DataFrame, Connector]-Source de données d'entrée
specstr""Données de configuration du graphique (ID, JSON, ou URL)
spec_io_modeLiteral["r", "rw"]"r"Mode E/S Spec: "r" (lecture) ou "rw" (lecture/écriture)
kernel_computationboolNoneActiver le calcul de noyau haute performance
appearanceLiteral['media', 'light', 'dark']'media'Paramètre du thème
default_tabLiteral["data", "vis"]"vis"Onglet par défaut à afficher

Méthodes Principales

1. explorer()

Affiche l'interface complète de GraphicWalker.

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

2. chart(index)

Affiche un graphique spécifique.

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

3. viewer()

Affiche une version en lecture seule des graphiques.

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

Meilleures Pratiques

  1. Caching: Utilisez le cache de Streamlit pour éviter les problèmes de mémoire :

    @st.cache_resource
    def get_pyg_renderer():
        df = pd.read_csv("data.csv")
        return StreamlitRenderer(df, spec="./gw_config.json")
  2. Grandes Bases de Données: Activez kernel_computation=True pour de meilleures performances avec de grandes bases de données.

  3. Disposition: Utilisez les options de mise en page de Streamlit (par exemple, st.set_page_config(layout="wide")) pour un affichage optimal.

  4. Onglets: Organisez les différentes vues PyGWalker en utilisant les onglets de Streamlit pour une interface plus propre.

Exemple : Application Streamlit avec PyGWalker

import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
 
st.set_page_config(page_title="PyGWalker dans Streamlit", layout="wide")
st.title("Démo de PyGWalker dans 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", "Profilage des Données", "Graphiques"])
 
with tab1:
    renderer.explorer()
 
with tab2:
    renderer.explorer(default_tab="data")
 
with tab3:
    st.subheader("Enregistré par Jour de la Semaine")
    renderer.chart(0)
    st.subheader("Enregistré par Jour")
    renderer.chart(1)

Avancé : Créer une Alternative à Tableau/PowerBI

Pour créer une alternative open-source à Tableau/PowerBI capable de gérer de grandes bases de données :

  1. Utilisez PyGWalker pour les visualisations interactives
  2. Utilisez Streamlit pour le cadre de l'application web
  3. Intégrez avec Snowflake pour gérer des données à grande échelle

Cette combinaison offre une solution puissante et évolutive pour la visualisation et l'analyse de données.

Pour plus de détails et une utilisation avancée, consultez la documentation PyGWalker (opens in a new tab).

Q&R Connexes

Comment créer une alternative en ligne open source à Tableau/PowerBI capable de gérer de grandes quantités de données ?

Réponse : Vous pouvez utiliser pygwalker + streamlit + snowflake pour créer une alternative open source en ligne à Tableau/PowerBI capable de gérer de grandes quantités de données.