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ètre | Type | Défaut | Description |
---|---|---|---|
dataset | Union[DataFrame, Connector] | - | Source de données d'entrée |
spec | str | "" | Données de configuration du graphique (ID, JSON, ou URL) |
spec_io_mode | Literal["r", "rw"] | "r" | Mode E/S Spec: "r" (lecture) ou "rw" (lecture/écriture) |
kernel_computation | bool | None | Activer le calcul de noyau haute performance |
appearance | Literal['media', 'light', 'dark'] | 'media' | Paramètre du thème |
default_tab | Literal["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
-
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")
-
Grandes Bases de Données: Activez
kernel_computation=True
pour de meilleures performances avec de grandes bases de données. -
Disposition: Utilisez les options de mise en page de Streamlit (par exemple,
st.set_page_config(layout="wide")
) pour un affichage optimal. -
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 :
- Utilisez PyGWalker pour les visualisations interactives
- Utilisez Streamlit pour le cadre de l'application web
- 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.