Wie man PyGWalker in Shiny-Python integriert
Shiny-Python
ist ein großartiges Framework zum Erstellen interaktiver Webanwendungen mit Python, und in Kombination mit pygwalker
eröffnen sich neue Möglichkeiten für die Erstellung von datengetriebenen interaktiven Webanwendungen. In diesem Tutorial führen wir Sie durch den Prozess der Integration von pygwalker
mit Shiny-Python
.
Voraussetzungen:
- Stellen Sie sicher, dass sowohl die
shiny
- als auch diepygwalker
-Bibliotheken installiert sind. Dies können Sie mit Pip tun:
pip install shiny pygwalker
Schritt-für-Schritt-Anleitung:
1. Erforderliche Bibliotheken importieren
Beginnen Sie mit dem Import der benötigten Module:
from shiny import App, ui
import pygwalker as pyg
from datasets import load_dataset
2. Datensatz laden
Für dieses Tutorial nutzen wir den NYC-Airbnb-Datensatz, aber Sie können ihn durch jeden gewünschten Datensatz ersetzen:
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
3. Gestalten der Shiny-Benutzeroberfläche
Definieren Sie die Benutzeroberfläche (UI) der Shiny-Anwendung mit ui
-Komponenten:
app_ui = ui.page_fluid(
ui.h1("Mit pygwalker in Shiny"),
ui.markdown("Dies ist eine Demo zur Verwendung von [pygwalker](https://github.com/Kanaries/pygwalker) in Shiny."),
ui.HTML(pyg.walk(df, spec="./viz-config.json", return_html=True, debug=False)),
)
Hier ist eine kurze Erklärung der UI-Komponenten:
ui.h1()
: Fügt der Shiny-App eine Überschrift hinzu.ui.markdown()
: Ermöglicht das Hinzufügen von Text im Markdown-Format für Beschreibungen oder zusätzliche Informationen.ui.HTML()
: Hier kommtpygwalker
ins Spiel. Die Funktionpyg.walk()
verwandelt den Datensatz in eine interaktive Visualisierung, die dann über diese HTML-Komponente in der Shiny-App gerendert wird.
4. Definieren der Server-Funktion
Obwohl die Server-Funktion in diesem Beispiel leer ist, ist dies der Ort, an dem jegliches reaktive Verhalten definiert werden kann. Wenn die App komplexer wird, kann es sein, dass Sie diesen Abschnitt mit interaktiver Logik füllen müssen.
def server(input, output, session):
...
5. App instanziieren und ausführen
Erstellen Sie schließlich die Shiny-App-Instanz und führen Sie sie aus:
app = App(app_ui, server)
Wenn Sie die App sofort starten möchten, können Sie die Zeile hinzufügen:
app.run()
oder
shiny run --reload
Zusammenfassung
Durch die Integration von pygwalker
in Shiny-Python
können Sie die Leistung beider Tools nutzen, um eindrucksvolle und interaktive Datenvisualisierungs-Web-Apps zu erstellen. Dies bietet nicht nur ein ansprechendes Benutzererlebnis, sondern ermöglicht es auch einem breiteren Publikum, mit Ihren Daten-Einblicken in Kontakt zu treten. Legen Sie los und entfesseln Sie das Potenzial Ihrer Datensätze!