Seaborn-Tutorial

Seaborn ist eine Python-Bibliothek zur Datenvisualisierung, die auf Matplotlib aufbaut und sich auf die Erstellung verschiedener statistischer Diagramme konzentriert, um Daten leichter darzustellen und zu verstehen.

Das Ziel von Seaborn ist es, den Prozess der statistischen Datenvisualisierung zu vereinfachen, indem es High-Level-Schnittstellen und schöne Standard-Themes bereitstellt, sodass Benutzer mit minimalem Code komplexe Grafiken erstellen können.

Seaborn bietet einfache High-Level-Schnittstellen, mit denen sich mühelos verschiedene statistische Diagramme erstellen lassen, darunter Streudiagramme, Liniendiagramme, Balkendiagramme, Heatmaps usw., mit guter ästhetischer Wirkung.

Seaborn legt in seinem Design Wert auf Ästhetik, mit sorgfältig ausgewählten Standard-Themes und Farbpaletten, die Diagramme ansprechender machen.

Seaborn installieren:

pip install seaborn

Seaborn bietet eine Vielzahl integrierter Themes und Farbpaletten, die festgelegt werden können, um das Aussehen von Diagrammen zu ändern.

Beispiel

import seaborn as sns

# Theme und Farbpalette festlegen
sns.set_theme(style="whitegrid", palette="pastel")

Durch die Funktion sns.set_theme() können Sie verschiedene Themes und Kontexte auswählen. Im Folgenden sind einige integrierte Themes und Kontexte in Seaborn aufgeführt:

Theme

darkgrid(Standard): Dunkles Gitter-Theme.

import seaborn as sns

# 设置为 darkgrid 主题
sns.set_theme(style="darkgrid")

whitegrid: Helles Gitter-Theme.

import seaborn as sns

# 设置为 whitegrid 主题
sns.set_theme(style="whitegrid")

dark: Dunkles Theme, kein Gitter.

import seaborn as sns

# 设置为 dark 主题
sns.set_theme(style="dark")

white: Helles Theme, kein Gitter.

import seaborn as sns

# 设置为 white 主题
sns.set_theme(style="white")

ticks: Dunkles Theme mit Teilstrichen.

import seaborn as sns

# 设置为 ticks 主题
sns.set_theme(style="ticks")

Kontext

paper: Geeignet für kleine Abbildungen, mit kleineren Beschriftungen und Linien.

import seaborn as sns

# 设置为 paper 模板
sns.set_theme(context="paper")

notebook(Standard): Geeignet für Laptops und ähnliche Umgebungen, mit mittelgroßen Beschriftungen und Linien.

import seaborn as sns

# 设置为 notebook 模板
sns.set_theme(context="notebook")

talk: Geeignet für Präsentationsfolien, mit großen Beschriftungen und Linien.

import seaborn as sns

# 设置为 talk 模板
sns.set_theme(context="talk")

poster: Geeignet für Poster, mit sehr großen Beschriftungen und Linien.

import seaborn as sns

# 设置为 poster 模板
sns.set_theme(context="poster")

Durch das Festlegen verschiedener Themes und Kontexte können Sie Attribute wie Größe, Linienbreite und Farben von Seaborn-Diagrammen anpassen, um unterschiedliche Darstellungsszenarien abzudecken. Diese integrierten Themes und Kontexte ermöglichen es Benutzern, ansprechende und konsistente Grafiken einfacher zu erstellen.

Das folgende Beispiel verwendet Seaborn und Matplotlib, um ein einfaches Balkendiagramm zu erstellen, das die Verkäufe verschiedener Produkte zeigt:

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt

# Theme und Farbpalette festlegen
sns.set_theme(style="darkgrid", palette="pastel")
# Beispieldaten
products = ["Produkt A", "Produkt B", "Produkt C", "Produkt D"]
sales = [120, 210, 150, 180]

# Balkendiagramm erstellen
sns.barplot(x=products, y=sales)

# Beschriftungen und Titel hinzufügen
plt.xlabel("Produkte")
plt.ylabel("Verkäufe")
plt.title("Produktverkäufe nach Kategorie")

# Diagramm anzeigen
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:


Diagrammfunktionen

Seaborn bietet mehrere Plotfunktionen zum Erstellen verschiedener statistischer Diagramme. Die folgenden sind die wichtigsten Plotfunktionen in Seaborn und ihre entsprechenden Beispiele:

1. Streudiagramm - sns.scatterplot()

Wird verwendet, um ein Streudiagramm zwischen zwei Variablen zu erstellen, mit der Option, eine Trendlinie hinzuzufügen.

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# Streudiagramm zeichnen
sns.scatterplot(x='A', y='B', data=df)
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

2. Liniendiagramm - sns.lineplot()

Wird verwendet, um Trendlinien darzustellen, die zeigen, wie sich eine Variable mit einer anderen Variable ändert.

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'X': [1, 2, 3, 4, 5], 'Y': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# Liniendiagramm zeichnen
sns.lineplot(x='X', y='Y', data=df)
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

3. Balkendiagramm - sns.barplot()

Wird verwendet, um Balkendiagramme zu erstellen, die den Mittelwert oder andere Aggregationsfunktionen von Variablen anzeigen.

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'Category': ['A', 'B', 'C'], 'Value': [3, 7, 5]}
df = pd.DataFrame(data)

# Balkendiagramm zeichnen
sns.barplot(x='Category', y='Value', data=df)
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

4. Boxplot - sns.boxplot()

Wird verwendet, um die Verteilung von Variablen zu visualisieren, einschließlich des Medians, der Quartile usw.

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)

# Boxplot zeichnen
sns.boxplot(x='Category', y='Value', data=df)
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

5. Heatmap - sns.heatmap()

Wird verwendet, um Heatmaps für Matrixdaten zu erstellen, die oft zur Darstellung von Korrelationsmatrizen genutzt werden.

Beispiel

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
# Korrelationsmatrix erstellen
correlation_matrix = df.corr()

# Korrelationsmatrix mithilfe einer Heatmap visualisieren
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

6. Violinplot - sns.violinplot()

Wird verwendet, um die Form und Dichteschätzung von Verteilungen anzuzeigen, wobei Boxplots und Kernel-Dichteschätzung kombiniert werden.

Beispiel


import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Beispiel-DataFrame erstellen
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)

# Violinplot zeichnen
sns.violinplot(x='Category', y='Value', data=df)
plt.show()

Das Ergebnis ist in der folgenden Abbildung dargestellt:

Weitere Informationen finden Sie im offiziellen Tutorial:https://seaborn.pydata.org/tutorial.html

Andere Erweiterungen