Skip to content
PYGWALKER
API-Referenz
Streamlit Component

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

ParameterTypStandardBeschreibung
datasetUnion[DataFrame, Connector]-Eingabedatenquelle
specstr""Diagrammkonfigurationsdaten (ID, JSON oder URL)
spec_io_modeLiteral["r", "rw"]"r"Spec I/O-Modus: "r" (lesen) oder "rw" (lesen/schreiben)
kernel_computationboolNoneAktiviert Hochleistungskernel-Berechnungen
appearanceLiteral['media', 'light', 'dark']'media'Theme-Einstellung
default_tabLiteral["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

  1. 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")
  2. Große Datensätze: Aktivieren Sie kernel_computation=True für eine bessere Leistung bei großen Datensätzen.

  3. Layout: Verwenden Sie die Layout-Optionen von Streamlit (z.B. st.set_page_config(layout="wide")) für eine optimale Anzeige.

  4. 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:

  1. Verwenden Sie PyGWalker für interaktive Visualisierungen
  2. Nutzen Sie Streamlit als Webanwendungs-Framework
  3. 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.