[Streamlit-Tutorial] Schnell interaktive Datenauswertungen erstellen
Updated on
Streamlit ist ein Open-Source-Tool, das Entwicklern ermöglicht, interaktive Webanwendungen einfach zu erstellen. Es wurde entwickelt, um Datenwissenschaftler und Ingenieure bei ihrer Datenauswertung und maschinellen Lernaufgaben zu unterstützen. Mit Streamlit kannst du einfache Python-Skripte mit nur wenigen Zeilen Code in schöne datengesteuerte Webanwendungen verwandeln.
Die Datenvisualisierung ist ein wichtiger Aspekt der Datenanalyse. Sie ermöglicht es uns, komplexe Datensätze in grafischer Form darzustellen, um sie besser zu verstehen. Streamlit unterstützt verschiedene Arten von Visualisierungen, darunter Balkendiagramme, Liniencharts, Plots, Tortendiagramme und Histogramme. Dieser Artikel führt dich durch den Prozess der Erstellung dieser Visualisierungen mit Streamlit.
Interaktive Datenauswertung in Streamlit mit PyGWalker einfach erstellen
PyGWalker (opens in a new tab) ist auch ein fantastisches Tool, das als Alternative zu Streamlit AgGrid Wunder bewirkt.
PyGWalker + Streamlit Online-Demo (opens in a new tab)
PyGWalker (opens in a new tab) ist eine Python-Bibliothek, die es dir ermöglicht, eine benutzerfreundliche grafische Benutzeroberfläche ähnlich wie bei Tableau in deine eigene Streamlit-App einzubetten.
Schau dir dieses erstaunliche Video von Wie man Daten mit PyGWalker in Python erkundet (opens in a new tab) an, in dem die detaillierten Schritte zur Stärkung deiner Streamlit-App mit dieser leistungsstarken Data Visualization Python Library erklärt werden!
Ein besonderer Dank geht an Sven und seine großartige Arbeit (opens in a new tab) für die PyGWalker-Community!
Zusätzlich kannst du auch diese Ressourcen überprüfen:
- Wie man Daten erforscht und Erkenntnisse mit Pygwalker und Streamlit teilt (opens in a new tab)
- PyGWalker GitHub-Seite (opens in a new tab) für mehr Beispiele zu PyGWalker.
Balkendiagramm in Streamlit
Ein Balkendiagramm oder Balkendiagramm ist eine Diagrammform, die kategoriale Daten mit rechteckigen Balken darstellt, die proportional zu den dargestellten Werten sind. In Streamlit wird die Funktion st.bar_chart()
verwendet, um Balkendiagramme zu erstellen. Es ist eine einfache und effektive Möglichkeit, verschiedene Kategorien von Daten zu vergleichen.
import streamlit as st
import pandas as pd
# Erzeuge ein Beispieldatenset
data = pd.DataFrame({
'Früchte': ['Äpfel', 'Orangen', 'Banane', 'Trauben'],
'Anzahl': [15, 25, 35, 45]
})
# Erzeuge ein Balkendiagramm
st.bar_chart(data)
Im obigen Code-Snippet importieren wir zunächst die erforderlichen Bibliotheken und erzeugen ein Beispieldatenset. Anschließend verwenden wir die Funktion st.bar_chart()
zum Erstellen eines Balkendiagramms. Das Diagramm verwendet automatisch die Indizes des Datensets für die x-Achse und die Werte für die y-Achse.
Obwohl die Funktion st.bar_chart()
einfach zu verwenden ist, bietet sie nur begrenzte Anpassungsmöglichkeiten. Für komplexere Szenarien musst du möglicherweise andere Bibliotheken wie Matplotlib oder Plotly verwenden, die mehr Flexibilität bieten.
Linienchart in Streamlit
Ein Linienchart oder Liniendiagramm ist eine Diagrammart, bei der Informationen als Reihe von Datenpunkten, sogenannten "Markern", dargestellt werden, die von geraden Linienabschnitten verbunden sind. Es handelt sich um eine grundlegende Diagrammart, die in vielen Bereichen üblich ist. In Streamlit wird die Funktion st.line_chart()
verwendet, um Liniencharts zu erstellen.
import streamlit as st
import pandas as pd
# Erzeuge ein Beispieldatenset
data = pd.DataFrame({
'Jahr': [2018, 2019, 2020, 2021],
'Verkäufe': [350, 480, 550, 680]
})
# Erzeuge ein Linienchart
st.line_chart(data)
Im obigen Code-Snippet erzeugen wir zunächst ein Beispieldatenset und verwenden dann die Funktion st.line_chart()
zum Erstellen eines Liniencharts. Das Diagramm verwendet automatisch die Indizes des Datensets für die x-Achse und die Werte für die y-Achse.
Streamlits Liniencharts sind einfach zu verwenden, aber weniger anpassbar. Für komplexere Szenarien musst du möglicherweise andere Bibliotheken wie Matplotlib oder Plotly verwenden.
Plotten in Streamlit
Streamlit unterstützt mehrere verschiedene Bibliotheken zum Erstellen von Plots, darunter Matplotlib, Plotly, Vega-Lite und mehr. Dadurch kannst du eine Vielzahl von Visualisierungen erstellen, von einfachen Liniencharts bis hin zu komplexen interaktiven Plots.
Beispielsweise kannst du ein Histogramm mit Matplotlib erstellen und es in Streamlit mit der Funktion st.pyplot()
anzeigen lassen.
import streamlit as st
import matplotlib.pyplot as plt
import numpy as np
# Generiere einige Zufallsdaten
data = np.random.normal(0, 1, size=100)
# Erzeuge ein Histogramm
plt.hist(data, bins=20)
# Zeige das Plot in Streamlit an
st.pyplot()
Im obigen Code-Snippet generieren wir zunächst einige Zufallsdaten. Anschließend erzeugen wir ein Histogramm mit der Funktion plt.hist()
von Matplotlib. Schließlich zeigen wir das Plot in Streamlit mit der Funktion st.pyplot()
an.
Streamlit unterstützt auch interaktive Plotting-Bibliotheken wie Plotly. Dadurch kannst du interaktive Plots erstellen, die Benutzer zoomen, verschieben und schweben können, um detailliertere Informationen zu erhalten.
Tortendiagramm in Streamlit
Pie-Diagramme sind kreisförmige statistische Grafiken, die in Sektionen unterteilt sind, um numerische Anteile zu veranschaulichen. Obwohl Streamlit keine integrierte Funktion zum Erstellen von Pie-Diagrammen hat, können Sie sie mit anderen Bibliotheken wie Matplotlib erstellen und mit der Funktion st.pyplot()
in Streamlit anzeigen.
import streamlit as st
import matplotlib.pyplot as plt
# Daten für das Diagramm
labels = 'Python', 'Java', 'C++', 'JavaScript'
sizes = [215, 130, 245, 210]
# Erstellen eines Pie-Diagramms
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
# Diagramm in Streamlit anzeigen
st.pyplot()
Im obigen Code-Ausschnitt definieren wir zunächst die Daten für das Diagramm. Anschließend erstellen wir mit der Funktion plt.pie()
von Matplotlib ein Pie-Diagramm. Abschließend zeigen wir das Diagramm in Streamlit mithilfe der Funktion st.pyplot()
an.
Das Erstellen von Pie-Diagrammen in Streamlit erfordert möglicherweise etwas mehr Arbeit im Vergleich zu Balken- oder Liniendiagrammen, bietet jedoch mehr Flexibilität und Anpassungsmöglichkeiten.
Streamlit Histogramm
Ein Histogramm ist eine genaue Darstellung der Verteilung numerischer Daten. Es erfolgt eine Schätzung der Wahrscheinlichkeitsverteilung einer kontinuierlichen Variable. In Streamlit können Sie Histogramme mithilfe der Funktion st.pyplot()
in Kombination mit Matplotlib erstellen.
import streamlit as st
import matplotlib.pyplot as plt
import numpy as np
# Generieren zufälliger Daten
data = np.random.normal(0, 1, size=100)
# Erstellen eines Histogramms
plt.hist(data, bins=20)
# Histogramm in Streamlit anzeigen
st.pyplot()
Im obigen Code-Ausschnitt generieren wir zunächst einige zufällige Daten. Anschließend erstellen wir mithilfe der Funktion plt.hist()
von Matplotlib ein Histogramm. Abschließend zeigen wir das Histogramm in Streamlit mithilfe der Funktion st.pyplot()
an.
Histogramme sind ein leistungsstolles Werkzeug zur Visualisierung der Verteilung von Daten. Sie können Einsichten in die allgemeine Streuung, Schiefe und Kurtosis der Daten geben.
Fortgeschrittene Plotting-Techniken in Streamlit
Die Kompatibilität von Streamlit mit verschiedenen Plotting-Bibliotheken eröffnet Ihnen eine Vielzahl von Möglichkeiten zur Erstellung fortgeschrittener Visualisierungen. Sie können beispielsweise die Plotly-Bibliothek verwenden, um interaktive 3D-Diagramme, geografische Diagramme und mehr zu erstellen.
import streamlit as st
import plotly.express as px
# Erstellen eines Scatter-Diagramms in 3D
fig = px.scatter_3d(x=[1, 2, 3, 4], y=[4, 3, 2, 1], z=[1, 4, 2, 3])
st.plotly_chart(fig)
Im obigen Code-Ausschnitt importieren wir zunächst die benötigten Bibliotheken. Anschließend erstellen wir mit der Funktion px.scatter_3d()
von Plotly ein Scatter-Diagramm in 3D. Abschließend zeigen wir das Diagramm in Streamlit mithilfe der Funktion st.plotly_chart()
an.
Anpassen von Streamlit-Visualisierungen
Streamlit bietet verschiedene Optionen zur Anpassung Ihrer Visualisierungen. Sie können beispielsweise die Farbpalette ändern, Titel und Beschriftungen hinzufügen, die Achsenmaßstäbe anpassen und vieles mehr.
import streamlit as st
import matplotlib.pyplot as plt
# Generieren zufälliger Daten
data = np.random.normal(0, 1, size=100)
# Erstellen eines Histogramms mit benutzerdefinierter Farbe und Titel
plt.hist(data, bins=20, color='skyblue', edgecolor='black')
plt.title('Mein benutzerdefiniertes Histogramm')
# Histogramm in Streamlit anzeigen
st.pyplot()
Im obigen Code-Ausschnitt generieren wir zunächst einige zufällige Daten. Anschließend erstellen wir ein Histogramm mit benutzerdefinierter Farbe und Titel. Abschließend zeigen wir das Histogramm in Streamlit mithilfe der Funktion st.pyplot()
an.
Fazit
Streamlit ist ein leistungsstolles Werkzeug zur Erstellung interaktiver Datenvisualisierungen. Mit seiner einfachen Syntax und der Kompatibilität mit verschiedenen Plotting-Bibliotheken können Sie eine Vielzahl von Visualisierungen erstellen, von einfachen Balken- und Liniendiagrammen bis hin zu komplexen interaktiven Diagrammen. Egal, ob Sie ein Datenwissenschaftler sind, der seine Ergebnisse teilen möchte, oder ein Entwickler, der eine datenbasierte Webanwendung erstellt, Streamlit hat Sie abgedeckt.
Haben Sie von diesem großartigen Data Analysis & Data Visualisation-Tool gehört, das Ihre Streamlit App in Tableau verwandelt?
PyGWalker (opens in a new tab) ist eine Python-Bibliothek, die Ihnen dabei hilft, eine Tableau-ähnliche Benutzeroberfläche einfach in Ihre eigene Streamlit-App einzubetten.
Häufig gestellte Fragen
1. Kann ich in Streamlit Pie-Diagramme erstellen?
Obwohl Streamlit keine integrierte Funktion zum Erstellen von Pie-Diagrammen hat, können Sie sie mit anderen Bibliotheken wie Matplotlib erstellen und mit der Funktion st.pyplot()
in Streamlit anzeigen.
2. Wie kann ich meine Streamlit-Visualisierungen anpassen?
Streamlit bietet verschiedene Optionen zur Anpassung Ihrer Visualisierungen. Sie können die Farbpalette ändern, Titel und Beschriftungen hinzufügen, die Achsenmaßstäbe anpassen und vieles mehr. Die genauen Anpassungsoptionen hängen von der verwendeten Plotting-Bibliothek ab.
3. Kann ich interaktive Diagramme in Streamlit erstellen?
Ja, Streamlit unterstützt mehrere interaktive Plotting-Bibliotheken, darunter Plotly, Vega-Lite und mehr. Dies ermöglicht Ihnen das Erstellen interaktiver Diagramme, mit denen Benutzer zoomen, schwenken und über Details schweben können.