Datenvisualisierung für R-Benutzer: ggplot2 vs. matplotlib/Seaborn

Vergleich von Visualisierungen in R und Python

Vergleich von Datenvisualisierungstechniken durch Gegenüberstellung von ggplot2 in R mit matplotlib und Seaborn in Python. In diesem Tutorial werden Beispiele wie Streu-, Balken- und Liniendiagramme nebeneinander gestellt, um Ähnlichkeiten und Unterschiede zwischen den beiden Ökosystemen hervorzuheben.

Programmierung
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

13. Februar 2024

Geändert

29. April 2025

Schlüsselwörter

ggplot2 vs. matplotlib, Datenvisualisierung in R und Python, Seaborn-Tutorial, ggplot2 Tutorium, R vs. Python-Visualisierung

Einführung

Die Erstellung effektiver Visualisierungen ist der Schlüssel zur Vermittlung von Datenkenntnissen. Viele R-Benutzer sind mit ggplot2 vertraut, einem leistungsstarken Visualisierungspaket, das auf der Grammatik der Grafik aufbaut. Auf der Python-Seite sind matplotlib und Seaborn beliebte Werkzeuge für die Erstellung ähnlicher Diagramme. In diesem Tutorial stellen wir Beispiele für die Erstellung ähnlicher Visualisierungen - wie Streudiagramme, Balken- und Liniendiagramme - in R und Python gegenüber. Dieser Leitfaden soll Ihnen helfen, die Syntaxunterschiede zu verstehen und den besten Ansatz für Ihre Projekte zu wählen.



Vergleichende Beispiele

Nachfolgend finden Sie Beispiele, die mit einem Panel-Tabset dargestellt werden. Jede Registerkarte enthält ein Visualisierungsbeispiel in R (mit ggplot2) und die entsprechende Python-Version (mit matplotlib/Seaborn).

R (ggplot2) Beispiel:

library(ggplot2)

# Erzeugen von Beispieldaten
set.seed(123)
df <- data.frame(x = rnorm(100), y = rnorm(100))

# Erstellen eines Streudiagramms mit ggplot2
ggplot(df, aes(x = x, y = y)) +
  geom_point(color = "darkblue") +
  labs(title = "Streudiagramm (ggplot2)", x = "X-axis", y = "Y-axis") +
  theme_minimal()

Python (matplotlib & Seaborn) Beispiel:

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

# Erzeugen von Beispieldaten
np.random.seed(123)
df = pd.DataFrame({
    'x': np.random.randn(100),
    'y': np.random.randn(100)
})

# Erstellen eines Streudiagramms mit Seaborn
sns.scatterplot(x='x', y='y', data=df, color='darkblue')
plt.title("Streudiagramm (Seaborn)")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.tight_layout()
plt.show()

R (ggplot2) Beispiel:

library(ggplot2)

# Beispieldaten für Balkendiagramm erstellen
df_bar <- data.frame(
  category = c("A", "B", "C", "D"),
  count = c(23, 17, 35, 29)
)

# Erstellen eines Balkendiagramms mit ggplot2
ggplot(df_bar, aes(x = category, y = count, fill = category)) +
  geom_bar(stat = "identity") +
  labs(title = "Balkendiagramm (ggplot2)", x = "Category", y = "Count") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

Python (matplotlib & Seaborn) Beispiel:

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

# Beispieldaten für Balkendiagramm erstellen
df_bar = pd.DataFrame({
    'category': ["A", "B", "C", "D"],
    'count': [23, 17, 35, 29]
})

# Erstellen eines Balkendiagramms mit Seaborn
sns.barplot(x='category', y='count', data=df_bar, palette="Set2")
plt.title("Balkendiagramm (Seaborn)")
plt.xlabel("Category")
plt.ylabel("Count")
plt.tight_layout()
plt.show()

R (ggplot2) Beispiel:

library(ggplot2)

# Beispielhafte Zeitreihendaten generieren
df_line <- data.frame(
  date = seq(as.Date("2020-01-01"), by = "month", length.out = 12),
  value = cumsum(rnorm(12, mean = 5, sd = 2))
)

# Erstellen eines Liniendiagramms mit ggplot2
ggplot(df_line, aes(x = date, y = value)) +
  geom_line(color = "forestgreen", size = 1.2) +
  labs(title = "Liniendiagramm (ggplot2)", x = "Date", y = "Value") +
  theme_minimal()

Python (matplotlib & Seaborn) Beispiel:

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

# Beispielhafte Zeitreihendaten generieren
dates = pd.date_range(start="2020-01-01", periods=12, freq="M")
values = np.cumsum(np.random.randn(12) * 2 + 5)
df_line = pd.DataFrame({'date': dates, 'value': values})

# Erstellen eines Liniendiagramms mit matplotlib
plt.plot(df_line['date'], df_line['value'], color='forestgreen', linewidth=2)
plt.title("Liniendiagramm (matplotlib)")
plt.xlabel("Date")
plt.ylabel("Value")
plt.tight_layout()
plt.show()

Schlussfolgerung

Sowohl R als auch Python bieten robuste Funktionen für die Datenvisualisierung. Während ggplot2 in R einen Grammatik-der-Grafik-Ansatz bietet, liefern die Python-Bibliotheken matplotlib und Seaborn ähnlich leistungsstarke Werkzeuge mit ihrer eigenen Syntax und Anpassungsoptionen. Durch den Vergleich dieser Beispiele können Sie die Feinheiten der einzelnen Ökosysteme besser verstehen und das beste Toolset für Ihre Datenvisualisierungsanforderungen auswählen.

Weiterführende Literatur

Viel Spaß beim Programmieren und bei der Erstellung schöner Visualisierungen sowohl in R als auch in Python!

Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

placeholder

placeholder
Keine Treffer
Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Datenvisualisierung für R-Benutzer: ggplot2 vs.
    matplotlib/Seaborn},
  date = {2024-02-13},
  url = {https://www.datanovia.com/de/learn/programming/transition/data-visualization-ggplot2-vs-matplotlib.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2024. “Datenvisualisierung für R-Benutzer: ggplot2 vs. matplotlib/Seaborn.” February 13, 2024. https://www.datanovia.com/de/learn/programming/transition/data-visualization-ggplot2-vs-matplotlib.html.