Heim  >  Artikel  >  Backend-Entwicklung  >  Streamlit Part Mastering Datenvisualisierung und Diagrammtypen

Streamlit Part Mastering Datenvisualisierung und Diagrammtypen

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 06:20:27539Durchsuche

Streamlit Part Mastering Data Visualization and Chart Types

In der heutigen schnelllebigen Welt der Datenwissenschaft ist die effektive Visualisierung von Daten von entscheidender Bedeutung. Unabhängig davon, ob Sie ein erfahrener Datenanalyst sind oder gerade erst am Anfang Ihrer Reise stehen, kann die Beherrschung verschiedener Visualisierungstechniken Ihre Fähigkeit, Erkenntnisse zu kommunizieren und die Entscheidungsfindung voranzutreiben, erheblich verbessern. Dieser umfassende Leitfaden befasst sich mit Streamlit, einer beliebten Python-Bibliothek zum Erstellen interaktiver Webanwendungen, und stellt 12 leistungsstarke Diagrammtypen vor, die Sie ganz einfach erstellen können, um Ihre Daten zu visualisieren. Von einfachen Balkendiagrammen bis hin zu erweiterten Geodatenvisualisierungen deckt dieses Tutorial alles ab.


Einführung in Streamlit und seine Visualisierungsmöglichkeiten

Streamlit hat die Art und Weise revolutioniert, wie Datenwissenschaftler und Entwickler interaktive Webanwendungen zur Datenvisualisierung erstellen. Mit seiner intuitiven API und der nahtlosen Integration in beliebte Python-Bibliotheken ermöglicht Streamlit Ihnen, Ihre Datenskripte in wenigen Minuten in gemeinsam nutzbare Web-Apps umzuwandeln. In diesem Leitfaden konzentrieren wir uns auf die Vielseitigkeit von Streamlit bei der Erstellung verschiedener Diagrammtypen, die jeweils auf unterschiedliche Datenvisualisierungsanforderungen zugeschnitten sind.


1. Flächendiagramm

Einführung in Flächendiagramme

Flächendiagramme eignen sich hervorragend für die Anzeige kumulierter Summen im Zeitverlauf oder über Kategorien hinweg. Sie betonen das Ausmaß der Veränderung und die Beziehung zwischen verschiedenen Datensätzen und eignen sich daher perfekt für die Verfolgung von Trends und den Vergleich mehrerer Datenreihen.

Erstellen des Flächendiagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Anwendungsfälle

  • Umsatzwachstum: Visualisieren Sie, wie der Umsatz über verschiedene Quartale hinweg steigt.
  • Website-Verkehr: Verfolgen Sie die Anzahl der Besucher im Laufe der Zeit.
  • Kumulative Kennzahlen: Zeigen Sie kumulative Kennzahlen wie Gesamteinnahmen oder -ausgaben an.

Anpassungstipps

  • Farben anpassen:Ändern Sie den Farbparameter entsprechend Ihrer Marke oder Ihren Vorlieben.
  • Titel und Beschriftungen hinzufügen: Verbessern Sie die Übersichtlichkeit, indem Sie Titel und Achsenbeschriftungen hinzufügen.
  • Äxte ändern: Passen Sie den Maßstab oder Bereich der Achsen für eine bessere Datendarstellung an.

2. Balkendiagramm

Einführung in Balkendiagramme

Balkendiagramme sind eine grundlegende Möglichkeit, verschiedene Kategorien oder Gruppen zu vergleichen. Sie sind äußerst effektiv bei der Anzeige diskreter Datenpunkte und erleichtern den Vergleich von Mengen über verschiedene Kategorien hinweg.

Erstellen des Balkendiagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Anwendungsfälle

  • Umsätze nach Region:Vergleichen Sie die Verkaufszahlen verschiedener Regionen.
  • Produktpopularität: Zeigt die Beliebtheit verschiedener Produkte an.
  • Umfrageergebnisse:Antworten auf Umfragefragen visualisieren.

Anpassungsoptionen

  • Balkenfarben: Obwohl im Beispiel Standardeinstellungen verwendet werden, können Sie die Balkenfarben mithilfe zusätzlicher Parameter oder durch Vorverarbeitung der Daten anpassen.
  • Ausrichtung:Ändern Sie die Ausrichtung der Balken (horizontal oder vertikal), um die Lesbarkeit zu verbessern.
  • Beschriftungen und Legenden: Fügen Sie Beschriftungen und Legenden hinzu, um den Daten mehr Kontext zu verleihen.

3. Liniendiagramm

Einführung in Liniendiagramme

Liniendiagramme eignen sich hervorragend zur Darstellung von Trends über kontinuierliche Daten, wie z. B. Zeitreihen. Sie helfen dabei, Änderungen zu verfolgen, Muster zu erkennen und mehrere Datenreihen über dasselbe Intervall zu vergleichen.

Erstellen des Liniendiagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

Anwendungsfälle

  • Aktienkurse: Verfolgen Sie Aktienkursbewegungen im Laufe der Zeit.
  • Temperaturänderungen:Überwachen Sie Temperaturschwankungen an verschiedenen Tagen.
  • Website-Besuche:Analysieren Sie Website-Traffic-Trends über Wochen oder Monate.

Anpassungstipps

  • Mehrere Zeilen: Zeichnen Sie mehrere Zeilen, indem Sie zusätzliche Spalten im y-Parameter angeben.
  • Linienstile: Passen Sie die Linienstile (durchgezogen, gestrichelt) an, um zwischen Datenreihen zu unterscheiden.
  • Interaktivität: Verbessern Sie die Interaktivität, indem Sie Tooltips oder Hover-Effekte hinzufügen, um genaue Werte anzuzeigen.

4. Karte

Einführung in Karten in Streamlit

Die Visualisierung geografischer Daten ist für die räumliche Analyse von entscheidender Bedeutung. Sie ermöglicht Ihnen die Visualisierung von Datenpunkten auf einer Karte, um Muster, Hotspots und Verteilungen über verschiedene Standorte hinweg zu identifizieren.

Erstellen der Karte

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Anwendungsfälle

  • Geschäftsstandorte: Zeigen Sie die Standorte mehrerer Geschäfte oder Büros an.
  • Event-Hotspots: Visualisieren Sie Bereiche mit einer hohen Konzentration an Ereignissen oder Aktivitäten.
  • Demografische Verteilungen:Zeigen Sie die Verteilung verschiedener demografischer Gruppen über Regionen hinweg.

Anpassungstipps

  • Kartenmitte und Zoom:Passen Sie die Kartenmitte und den Zoomfaktor an, um den Fokus auf bestimmte Bereiche zu richten.
  • Marker-Ästhetik: Passen Sie Markierungsformen, -größen und -farben an, um verschiedene Datendimensionen darzustellen.
  • Interaktivität: Fügen Sie Tooltips oder Pop-ups hinzu, um weitere Informationen zu jedem Datenpunkt bereitzustellen.

5. Streudiagramm

Einführung in Streudiagramme

Streudiagramme sind leistungsstarke Werkzeuge zur Identifizierung von Beziehungen oder Korrelationen zwischen zwei Variablen. Sie helfen dabei, Muster, Trends und potenzielle Ursachen in Ihren Daten aufzudecken.

Erstellen des Streudiagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

Anwendungsfälle

  • Werbung vs. Verkäufe:Erkunden Sie den Zusammenhang zwischen Werbeausgaben und Verkaufszahlen.
  • Größe vs. Gewicht: Analysieren Sie die Korrelation zwischen Größe und Gewicht einzelner Personen.
  • Leistungsmetriken:Vergleichen Sie verschiedene Leistungsmetriken von Produkten oder Dienstleistungen.

Anpassungstipps

  • Trendlinien: Fügen Sie Trendlinien hinzu, um Korrelationen oder Trends innerhalb der Daten hervorzuheben.
  • Punktgrößen und -farben: Differenzieren Sie Datenpunkte, indem Sie ihre Größen und Farben basierend auf zusätzlichen Variablen anpassen.
  • Interaktivität: Verbessern Sie die Interaktivität, indem Sie Tooltips aktivieren, die detaillierte Informationen anzeigen, wenn Sie mit der Maus über Punkte fahren.

6. Altair-Diagramm

Einführung in Altair

Altair ist eine deklarative statistische Visualisierungsbibliothek für Python, die erweiterte Diagrammfunktionen mit einer einfachen und intuitiven Syntax bietet. Es zeichnet sich durch die Erstellung interaktiver und komplexer Visualisierungen mit minimalem Code aus.

Erstellen des Altair-Diagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Anwendungsfälle

  • Explorative Datenanalyse:Untersuchen Sie Beziehungen zwischen mehreren Variablen.
  • Interaktive Dashboards: Erstellen Sie dynamische Visualisierungen, die auf Benutzereingaben reagieren.
  • Detaillierte statistische Visualisierungen: Präsentieren Sie komplexe Daten in einem verständlichen Format.

Anpassungstipps

  • Facettierung: Erstellen Sie kleine Vielfache, um verschiedene Teilmengen von Daten zu vergleichen.
  • Markierungstypen: Experimentieren Sie mit verschiedenen Markierungstypen wie Linien, Balken oder Bereichen, um unterschiedliche visuelle Effekte zu erzielen.
  • Interaktive Elemente: Integrieren Sie Auswahlmöglichkeiten, Filter und Zoom, um die Benutzerinteraktivität zu verbessern.

8. Graphviz-Diagramm

Einführung in Graphviz

Graphviz ist ein Tool zum Erstellen von Diagrammen und Netzwerkdiagrammen und daher von unschätzbarem Wert für die Visualisierung von Beziehungen, Arbeitsabläufen und Organisationsstrukturen. Es ermöglicht Ihnen, komplexe Zusammenhänge übersichtlich und übersichtlich darzustellen.

Erstellen des Graphviz-Diagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

Anwendungsfälle

  • Software-Entwicklungspipelines: Visualisieren Sie die Phasen der Softwareentwicklung von der Planung bis zur Bereitstellung.
  • Organisationsstrukturen: Stellen die Hierarchie und Beziehungen innerhalb einer Organisation dar.
  • Entscheidungsbäume:Veranschaulichen Sie den Fluss von Entscheidungen und möglichen Ergebnissen.

Anpassungstipps

  • Knotenformen und -farben: Passen Sie Knotenformen und -farben an, um verschiedene Arten von Entitäten oder Status darzustellen.
  • Kantenstile:Ändern Sie Kantenstile (gestrichelt, fett), um verschiedene Arten von Beziehungen oder Abhängigkeiten anzuzeigen.
  • Grafiklayouts: Entdecken Sie verschiedene Diagrammlayouts (z. B. hierarchisch, kreisförmig) für eine bessere Übersichtlichkeit.

9. Handlungsdiagramm

Einführung in Plotly

Plotly ist eine leistungsstarke Bibliothek zum Erstellen interaktiver Grafiken in Publikationsqualität. Es bietet eine breite Palette an Diagrammtypen und Anpassungsoptionen und eignet sich daher für komplexe Datenvisualisierungen und interaktive Dashboards.

Verteilungsdiagramme erstellen

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Erstellen von Streudiagrammen mit Plotly Express

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

Anwendungsfälle

  • Verteilungsanalyse:Vergleichen Sie die Verteilungen verschiedener Datensätze nebeneinander.
  • Interaktive Dashboards: Erstellen Sie dynamische und interaktive Visualisierungen, die auf Benutzereingaben reagieren.
  • Vergleichende Analyse:Verwenden Sie mehrere Themen und Stile, um verschiedene Aspekte der Daten hervorzuheben.

Anpassungstipps

  • Themenanpassungen: Entdecken Sie verschiedene Themen, die zum Design Ihrer Anwendung passen.
  • Layout-Konfigurationen: Passen Sie Layouteinstellungen wie Ränder, Legenden und Achsentitel für eine bessere Darstellung an.
  • Erweiterte Diagrammtypen: Experimentieren Sie mit 3D-Diagrammen, Heatmaps und anderen erweiterten Diagrammtypen für komplexere Visualisierungen.

10. Pydeck-Diagramm

Einführung in Pydeck

pydeck ist eine Python-Schnittstelle für deck.gl, die erweiterte, leistungsstarke WebGL-basierte Visualisierungen ermöglicht. Es ist besonders nützlich für die Erstellung komplexer und interaktiver Geodatenvisualisierungen.

Erstellen des Pydeck-Diagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 3. Line Chart")

# Generate random data for the line chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create a line chart with the random data
st.line_chart(
    chart_data,
    x="col1",
    y="col2",
    color="col3",
)

st.write("#### 3.1 Basic Line Chart")

Anwendungsfälle

  • Geodatenanalyse:Visualisierung großer Geodatensätze, um Muster und Hotspots zu identifizieren.
  • Stadtplanung:Analysieren Sie die Bevölkerungsdichte, den Verkehrsfluss oder die Infrastrukturverteilung.
  • Umweltstudien: Kartieren Sie Umweltdaten wie Verschmutzungsgrade oder Tierbeobachtungen.

Anpassungstipps

  • Verschiedene Ebenentypen: Experimentieren Sie mit verschiedenen Ebenentypen wie ScatterplotLayer, ArcLayer oder PathLayer, um verschiedene visuelle Effekte zu erzielen.
  • Kartenstile:Ändern Sie den Parameter „map_style“, um verschiedene Kartenthemen zu verwenden (z. B. Satellit, Dunkelmodus).
  • Interaktivität: Verbessern Sie die Interaktivität, indem Sie Tooltips, Filter und dynamische Datenaktualisierungen aktivieren.

11. Pyplot-Diagramm

Einführung in Matplotlibs Pyplot

Matplotlib ist eine grundlegende Plotbibliothek in Python, und pyplot bietet eine MATLAB-ähnliche Schnittstelle zum Erstellen statischer, animierter und interaktiver Visualisierungen. Es ist hochgradig anpassbar und wird häufig für statistische Datenanalysen und Bildungszwecke verwendet.

Erstellen des Histogramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 1. Area Chart")

# Generate random data for the area chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Create an area chart using the random data
st.area_chart(
    chart_data,
    x="col1",
    y=["col2", "col3"],
    color=["#FF0000", "#0000FF"],
)

Anwendungsfälle

  • Statistische Analyse: Visualisieren Sie die Verteilung von Datensätzen, um Muster und Anomalien zu identifizieren.
  • Bildungszwecke:Vermitteln von Konzepten wie Wahrscheinlichkeitsverteilungen und Datennormalisierung.
  • Datenexploration:Bewerten Sie die Form und Verbreitung von Daten, bevor Sie weitere Analysen durchführen.

Anpassungsoptionen

  • Titel und Beschriftungen: Fügen Sie Titel, Achsenbeschriftungen und Legenden hinzu, um Kontext bereitzustellen.
  • Farben und Stile: Passen Sie Balkenfarben, Kantenstile und die allgemeine Plotästhetik an.
  • Mehrere Histogramme: Überlagern Sie mehrere Histogramme, um verschiedene Datensätze oder Gruppen zu vergleichen.
  • Erweiterte Funktionen: Integrieren Sie Dichtediagramme, kumulative Verteilungen oder Anmerkungen für tiefere Einblicke.

12. Vega-Diagramm

Einführung in Vega-Lite

Vega-Lite ist eine High-Level-Grammatik zum Erstellen interaktiver Visualisierungen, die aus Flexibilitätsgründen in Streamlit integriert ist. Es ermöglicht Ihnen, anspruchsvolle und reaktionsfähige Diagramme mit prägnanten Spezifikationen zu erstellen, wodurch es einfacher wird, komplexe Visualisierungen ohne umfangreiche Programmierung zu erstellen.

Erstellen des Vega-Diagramms

import numpy as np
import pandas as pd
import streamlit as st

st.write("### 2. Bar Chart")

# Generate random data for the bar chart
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=["col1", "col2", "col3"],
)

# Display a bar chart using the same data
st.bar_chart(chart_data)

Anwendungsfälle

  • Anspruchsvolle interaktive Visualisierungen: Erstellen Sie komplexe Diagramme, die auf Benutzerinteraktionen wie Bewegen, Klicken oder Auswählen reagieren.
  • Datenexploration: Ermöglichen Sie Benutzern die dynamische Erkundung von Datensätzen und die Gewinnung von Erkenntnissen durch interaktive Elemente.
  • Einbetten komplexer Diagramme: Integrieren Sie detaillierte und interaktive Diagramme in Streamlit-Apps für umfassende Datenpräsentationen.

Anpassungstipps

  • Hinzufügen von Ebenen: Integrieren Sie zusätzliche Ebenen wie Linien, Balken oder Flächen, um die Visualisierung zu bereichern.
  • Benutzerdefinierte Maßstäbe und Achsen: Passen Sie Maßstäbe, Achsentitel und Beschriftungen an, um die Lesbarkeit und Darstellung zu verbessern.
  • Interaktive Auswahl: Implementieren Sie interaktive Auswahlen und Filter, damit sich Benutzer auf bestimmte Datenteilmengen konzentrieren können.
  • Stil und Themen: Verbessern Sie die Ästhetik, indem Sie Farben, Schriftarten und allgemeine Designeinstellungen anpassen.

Zusammenfassung der Diagrammtypen

In diesem Tutorial haben wir eine Vielzahl von in Streamlit verfügbaren Diagrammtypen behandelt, die jeweils für unterschiedliche Datenvisualisierungsanforderungen geeignet sind:

  1. Flächendiagramm:Ideal für die Anzeige kumulativer Summen und Trends.
  2. Balkendiagramm:Perfekt zum Vergleich einzelner Kategorien oder Gruppen.
  3. Liniendiagramm: Hervorragend geeignet, um Änderungen an kontinuierlichen Daten wie Zeitreihen zu verfolgen.
  4. Karte: Unverzichtbar für die Visualisierung geografischer Daten und die räumliche Analyse.
  5. Streudiagramm:Nützlich zum Identifizieren von Beziehungen und Korrelationen zwischen Variablen.
  6. Altair Chart: Erweiterte, interaktive Visualisierungen mit deklarativer Syntax.
  7. Graphviz-Diagramm:Visualisierung von Beziehungen und Arbeitsabläufen durch Diagrammdiagramme.
  8. Plotly-Diagramm: Interaktive Grafiken in Publikationsqualität mit umfangreichen Anpassungsmöglichkeiten.
  9. Pydeck-Diagramm:Hochleistungsfähige Geodatenvisualisierungen mit WebGL.
  10. Pyplot-Diagramm: Grundlegendes Plotten mit den vielseitigen Funktionen von Matplotlib.
  11. Vega-Diagramm: Anspruchsvolle interaktive Visualisierungen mit Vega-Lite-Grammatik.

? Holen Sie sich den Code: GitHub – jamesbmour/blog_tutorials
? Verwandte Streamlit-Tutorials:JustCodeIt
? Unterstützen Sie meine Arbeit: Buy Me a Coffee

Das obige ist der detaillierte Inhalt vonStreamlit Part Mastering Datenvisualisierung und Diagrammtypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn