Meistere Matplotlib & PyGWalker: Beeindruckende Plots für Dataframes in Python
Published on
Datenvisualisierung ist ein wichtiger Bestandteil der Datenwissenschaft, da sie uns hilft, Daten leichter zu verstehen und informierte Entscheidungen zu treffen. In dieser umfassenden Anleitung lernen Sie, wie Sie Matplotlib verwenden können, um beeindruckende Plots aus Pandas Dataframes zu erstellen, Ihre Visualisierungen anzupassen und sie zum Teilen zu speichern. Erforschen Sie grundlegende und fortgeschrittene Plotting-Techniken und entdecken Sie die Open-Source-Alternative PyGWalker für ein verbessertes, benutzerfreundliches Erlebnis. Heben Sie Ihre Datenanalyse-Fähigkeiten mit unserem Schritt-für-Schritt-Tutorial auf ein neues Niveau.
Was ist Matplotlib?
Matplotlib ist eine Python-Bibliothek zur Erstellung von statischen, animierten und interaktiven Visualisierungen in Python. Es bietet eine Vielzahl von Tools zur Erstellung verschiedener Arten von Plots, einschließlich Liniendiagramme, Streudiagramme, Balkendiagramme, Histogramme und mehr. Es ermöglicht auch die Anpassung der Plots, einschließlich der Änderung von Farben, Beschriftungen, Schriftarten und mehr.
Grundlegende Plots mit Matplotlib
Um mit Matplotlib zu beginnen, importieren wir zunächst die Bibliothek und erstellen ein einfaches Pandas Dataframe:
import matplotlib.pyplot as plt
import pandas as pd
# Erstellen Sie ein einfaches Pandas Dataframe
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
Wir können dann mit Matplotlib ein einfaches Liniendiagramm erstellen, indem wir die plot-Funktion verwenden:
plt.plot(df['x'], df['y'])
plt.show()
Dies zeigt ein einfaches Liniendiagramm unserer Daten an.
Wir können unseren Plot auch anpassen, indem wir Beschriftungen hinzufügen, die Farben anpassen und den Linienstil ändern:
plt.plot(df['x'], df['y'], color='red', linestyle='dashed', linewidth=2, marker='o')
plt.xlabel('X-Achse')
plt.ylabel('Y-Achse')
plt.title('Einfaches Liniendiagramm')
plt.show()
Dies zeigt ein angepasstes Liniendiagramm mit Beschriftungen und einem Titel.
Matplotlib Liniendiagramm mit Dataframe
Um ein Liniendiagramm mit Matplotlib zu erstellen, können wir die plot-Funktion verwenden:
# Erstellen Sie ein Pandas Dataframe mit mehreren Spalten
data = {'x': [1, 2, 3, 4, 5], 'y1': [2, 4, 6, 8, 10], 'y2': [1, 3, 5, 7, 9]}
df = pd.DataFrame(data)
# Erstellen Sie ein Liniendiagramm mit mehreren Linien
plt.plot(df['x'], df['y1'], label='y1')
plt.plot(df['x'], df['y2'], label='y2')
plt.legend()
plt.show()
Dies zeigt ein Liniendiagramm mit mehreren Linien an.
Matplotlib Balkendiagramm mit Dataframe
Um ein Balkendiagramm mit Matplotlib zu erstellen, können wir die bar-Funktion verwenden:
# Erstellen Sie ein Pandas Dataframe mit mehreren Spalten
data = {'x': ['A', 'B', 'C', 'D', 'E'], 'y1': [2, 4, 6, 8, 10], 'y2': [1, 3, 5, 7, 9]}
df = pd.DataFrame(data)
# Erstellen Sie ein Balkendiagramm
fig, ax = plt.subplots()
ax.bar(df['x'], df['y1'], label='y1')
ax.bar(df['x'], df['y2'], label='y2')
ax.legend()
plt.show()
In diesem Beispiel erstellen wir ein Pandas Dataframe mit zwei Spalten 'y1' und 'y2' und einer kategorialen Spalte 'x'. Dann zeichnen wir für jeden Wert von 'x' zwei Balken, einen für 'y1' und einen für 'y2'. Wir fügen auch eine Legende hinzu, um die Balken zu unterscheiden.
Matplotlib Streudiagramm mit Dataframe
Streudiagramme sind nützlich, um die Beziehung zwischen zwei kontinuierlichen Variablen darzustellen. Wir können Matplotlib verwenden, um Streudiagramme mit Pandas Dataframes und der scatter-Funktion zu erstellen.
# Erstellen Sie ein Pandas Dataframe mit zwei Spalten
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
# Erstellen Sie ein Streudiagramm
fig, ax = plt.subplots()
ax.scatter(df['x'], df['y'])
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
In diesem Beispiel erstellen wir ein Pandas Dataframe mit zwei Spalten 'x' und 'y'. Dann erstellen wir ein Streudiagramm von 'x' gegen 'y'. Wir setzen auch die Beschriftungen für die x- und y-Achse.
Vergrößern der Plot-Größe in Matplotlib
Manchmal müssen wir die Größe des Plots erhöhen, um ihn besser lesbar zu machen oder mehr Informationen aufzunehmen. Dies können wir tun, indem wir die Größe der Abbildung in Matplotlib setzen.
# Erstellen Sie ein Pandas Dataframe mit einer Spalte
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
# Erstellen eines Liniendiagramms mit vergrößerter Größe
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(df['x'], df['y'])
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
In diesem Beispiel erstellen wir ein Pandas Dataframe mit zwei Spalten 'x' und 'y'. Dann erstellen wir ein Liniendiagramm von 'x' gegen 'y' mit einer größeren Größe von 10 mal 6. Wir setzen auch die Beschriftungen für die x- und y-Achse.
Matplotlib Balkendiagramm Farbe basierend auf Wert
Wir können die Farben der Balken in einem Matplotlib Balkendiagramm basierend auf den dargestellten Werten anpassen. Zum Beispiel können wir die Farbe des Balkens auf Rot setzen, wenn der Wert negativ ist, und auf Grün, wenn der Wert positiv ist.
# Erstellen Sie ein Pandas Dataframe mit einer Spalte
data = {'x': ['A', 'B', 'C', 'D', 'E'], 'y': [-2, 4, -6, 8, -10]}
df = pd.DataFrame(data)
# Erstellen Sie ein Balkendiagramm mit Farben basierend auf dem Wert
fig, ax = plt.subplots()
colors = ['r' if y < 0 else 'g' for y in df['y']]
ax.bar(df['x'], df['y'], color=colors)
ax.set_xlabel('X-Achse')
ax.set_ylabel('Y-Achse')
ax.set_title('Balkendiagramm mit Farben basierend auf dem Wert')
plt.show()
Dies erzeugt ein Balkendiagramm mit roten Balken für negative Werte und grünen Balken für positive Werte.
Matplotlib Plot als Tabelle
Neben der Erstellung von Plots kann Matplotlib auch verwendet werden, um Tabellen aus Pandas Dataframes zu erstellen. Dies kann nützlich sein, um Zusammenfassungsstatistiken oder andere tabellarische Daten neben Ihren Plots anzuzeigen.
Um eine Tabelle mit Matplotlib zu erstellen, können wir die table-Funktion verwenden. Hier ist ein Beispiel, wie man eine Tabelle aus einem Pandas Dataframe erstellt:
# Erstellen Sie ein Pandas Dataframe
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
import pandas as pd
import matplotlib.pyplot as plt
# Daten erstellen
data = {'Alter': [25, 30, 35, 40],
'Gehalt': [50000, 60000, 70000, 80000]}
df = pd.DataFrame(data)
# Tabelle erstellen
fig, ax = plt.subplots()
ax.axis('off')
ax.axis('tight')
ax.table(cellText=df.values, colLabels=df.columns, loc='center')
fig.tight_layout()
plt.show()
Dies wird eine Tabelle aus dem Pandas DataFrame erstellen und sie in einem Matplotlib-Plot anzeigen.
Speichern und exportieren von Plots
Sobald Sie Ihren Plot mit Matplotlib erstellt haben, möchten Sie ihn möglicherweise auf der Festplatte speichern oder in einem Dateiformat exportieren, das leicht geteilt oder in einem Bericht verwendet werden kann. Dazu bietet Matplotlib mehrere Methoden zum Speichern und Exportieren von Plots.
Eine häufige Methode zum Speichern von Plots besteht darin, die savefig-Funktion zu verwenden. Mit dieser Funktion können Sie das Dateiformat, z. B. PNG oder PDF, und die Auflösung des Plots angeben. Hier ist ein Beispiel, wie die savefig-Funktion verwendet wird:
# Plot erstellen
plt.plot([1, 2, 3, 4])
plt.ylabel('einige Zahlen')
# Plot in eine Datei speichern
plt.savefig('mein_plot.png', dpi=300)
Dies speichert den Plot als PNG-Datei mit einer Auflösung von 300 Punkten pro Zoll (dpi).
Eine andere Methode zum Exportieren von Plots besteht darin, sie in die Zwischenablage zu kopieren. Matplotlib bietet eine Funktion namens matplotlib.pyplot.savefig, mit der die aktuelle Abbildung in eine Datei oder in die Zwischenablage des Systems gespeichert werden kann. Hier ist ein Beispiel, wie die savefig-Funktion verwendet wird, um einen Plot in die Zwischenablage zu kopieren:
# Plot erstellen
plt.plot([1, 2, 3, 4])
plt.ylabel('einige Zahlen')
# Plot in die Zwischenablage kopieren
plt.savefig('Zwischenablage', bbox_inches='tight', pad_inches=0)
Dadurch wird der Plot in die Zwischenablage kopiert und kann dann in eine andere Anwendung eingefügt werden.
PyGWalker als Open-Source-Alternative zu Matplotlib verwenden
Wenn Sie Ihre Daten in Python Pandas visualisieren möchten, gibt es ein Open-Source-Paket für Datenanalyse und Datenvisualisierung, das Ihnen helfen kann: PyGWalker (opens in a new tab).
Um PyGWalker jetzt auszuprobieren, können Sie PyGWalker in Google Colab (opens in a new tab), Binder (opens in a new tab) oder Kaggle (opens in a new tab) ausführen.
PyGWalker ist Open Source. Sie können die PyGWalker GitHub-Seite (opens in a new tab) überprüfen und den Towards Data Science-Artikel (opens in a new tab) dazu lesen.
Erste Schritte mit PyGWalker in Jupyter Notebook
PyGWalker kann Ihren Workflow für Datenanalyse und Datenvisualisierung in Jupyter Notebook vereinfachen. Es bietet eine leichtgewichtige, benutzerfreundliche Schnittstelle anstelle der Datenanalyse mit Python. Die Schritte sind einfach:
Importieren Sie pygwalker und pandas in Ihr Jupyter Notebook, um loszulegen.
import pandas as pd
import pygwalker as pyg
Sie können PyGWalker verwenden, ohne Ihren bestehenden Workflow zu ändern. Sie können beispielsweise Graphic Walker mit dem in diesem Beispiel geladenen DataFrame aufrufen:
df = pd.read_csv('./bike_sharing_dc.csv', parse_dates=['date'])
gwalker = pyg.walk(df)
Sie können diese Arten von Plots ganz einfach mit Ihrem Pandas DataFrame erstellen, ohne eine grafische Benutzeroberfläche:
Balkendiagramm (opens in a new tab) | Liniendiagramm | Flächendiagramm (opens in a new tab) |
---|---|---|
Trail | Punktdiagramm (opens in a new tab) | Kreis |
Tick-Plot | Rechteck | Bogen-Diagramm |
Box-Plot (opens in a new tab) | Heatmap (opens in a new tab) |
Weitere Beispiele finden Sie in unserer Datenvisualisierungsgalerie.
Ändern der Größe eines Diagramms mit PyGWalker
Sie können die Größe eines Diagramms ganz einfach mit dem Mauszeiger ändern.
Ändern des Diagrammtyps
Ein Liniendiagramm kann die Trends der registrierten Benutzerzahlen besser als ein Balkendiagramm darstellen. Um das vorhandene Diagramm in ein Liniendiagramm zu ändern, klicken Sie auf die Option "Mark Types" in der Symbolleiste und wählen Sie "Line".
Erstellen einer Concat-Ansicht
Vielleicht möchten Sie die Unterschiede zwischen registered
und casual
Nutzern vergleichen. Fügen Sie einfach mehr Maße zu den Zeilen/Spalten hinzu und vergleichen Sie diese miteinander.
Vergessen Sie nicht, auch eine weiterentwickelte, KI-unterstützte automatisierte Datenanalysetool auszuprobieren: RATH (opens in a new tab). RATH ist ebenfalls Open Source und hat seinen Quellcode auf GitHub (opens in a new tab) gehostet.
Fazit
Zusammenfassend lässt sich sagen, dass Matplotlib ein leistungsstolles Datenvisualisierungstool ist, mit dem beeindruckende Plots aus Pandas DataFrames erstellt werden können. In diesem Artikel haben wir die Grundlagen von Matplotlib und PyGWalker für das Plotten behandelt, einschließlich der Erstellung von einfachen und fortgeschrittenen Plots, der Anpassung von Plots, des Speicherns von Plots auf der Festplatte und der Erstellung von Tabellen aus DataFrames. Durch die Verwendung von Matplotlib und PyGWalker können Datenwissenschaftler ihre Fähigkeiten in der Datenvisualisierung verbessern und Erkenntnisse aus ihren Daten gewinnen. Denken Sie daran, weiter zu üben und die verschiedenen Funktionen von Matplotlib und PyGWalker zu erkunden, um das Beste aus Ihren Daten zu machen.