PyGWalker Streamlit API Anleitung
Diese Anleitung erklärt, wie PyGWalker in Streamlit-Anwendungen integriert wird, um interaktive Datenvisualisierungen bereitzustellen.
StreamlitRenderer Klasse
Die StreamlitRenderer
Klasse ist die Hauptschnittstelle für die Verwendung von PyGWalker in Streamlit-Apps.
from pygwalker.api.streamlit import StreamlitRenderer
renderer = StreamlitRenderer(df, spec="./gw_config.json")
Wichtige Parameter
Parameter | Typ | Standard | Beschreibung |
---|---|---|---|
dataset | Union[DataFrame, Connector] | - | Eingabedatenquelle |
spec | str | "" | Diagrammkonfigurationsdaten (ID, JSON oder URL) |
spec_io_mode | Literal["r", "rw"] | "r" | Spec I/O-Modus: "r" (lesen) oder "rw" (lesen/schreiben) |
kernel_computation | bool | None | Aktiviert Hochleistungskernel-Berechnungen |
appearance | Literal['media', 'light', 'dark'] | 'media' | Theme-Einstellung |
default_tab | Literal["data", "vis"] | "vis" | Standardtab zum Anzeigen |
Hauptmethoden
1. explorer()
Zeigt die vollständige GraphicWalker-Benutzeroberfläche an.
renderer.explorer(width=None, height=1000, scrolling=False, default_tab="vis")
2. chart(index)
Rendert ein spezifisches Diagramm.
renderer.chart(index, width=None, height=1000, scrolling=False)
3. viewer()
Zeigt eine Nur-Ansicht-Version der Diagramme.
renderer.viewer(width=None, height=1000, scrolling=False)
Best Practices
-
Caching: Verwenden Sie das Caching von Streamlit, um Speicherprobleme zu vermeiden:
@st.cache_resource def get_pyg_renderer(): df = pd.read_csv("data.csv") return StreamlitRenderer(df, spec="./gw_config.json")
-
Große Datensätze: Aktivieren Sie
kernel_computation=True
für eine bessere Leistung bei großen Datensätzen. -
Layout: Verwenden Sie die Layout-Optionen von Streamlit (z.B.
st.set_page_config(layout="wide")
) für eine optimale Anzeige. -
Tabs: Organisieren Sie verschiedene PyGWalker-Ansichten mit Streamlit-Tabs für eine übersichtlichere Benutzeroberfläche.
Beispiel: Streamlit App mit PyGWalker
import streamlit as st
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
st.set_page_config(page_title="PyGWalker in Streamlit", layout="wide")
st.title("PyGWalker in Streamlit Demo")
@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", "Data Profiling", "Charts"])
with tab1:
renderer.explorer()
with tab2:
renderer.explorer(default_tab="data")
with tab3:
st.subheader("Registrierungen pro Wochentag")
renderer.chart(0)
st.subheader("Registrierungen pro Tag")
renderer.chart(1)
Fortgeschritten: Aufbau einer Alternative zu Tableau/PowerBI
Um eine Open-Source-Alternative zu Tableau/PowerBI zu erstellen, die große Datensätze verarbeiten kann:
- Verwenden Sie PyGWalker für interaktive Visualisierungen
- Nutzen Sie Streamlit als Webanwendungs-Framework
- Integrieren Sie Snowflake zur Verarbeitung großskaliger Daten
Diese Kombination bietet eine leistungsstarke und skalierbare Lösung für Datenvisualisierung und -analyse.
Für weitere Details und fortgeschrittene Anwendungen, siehe die PyGWalker-Dokumentation (opens in a new tab).
Verwandte Fragen und Antworten
Wie erstellt man eine online Open-Source-Alternative zu Tableau/PowerBI, die große Datenmengen verarbeiten kann?
Antwort: Sie können pygwalker + streamlit + snowflake verwenden, um eine online Open-Source-Alternative zu Tableau/PowerBI zu erstellen, die große Datenmengen verarbeiten kann.