Einführung
In diesem Tutorial wird Ihnen die Erstellung eines hexagonalen Binned-Plots mit Matplotlib in Python gezeigt. Hexagonale Binned-Plots sind 2D-Histogrammplots, bei denen die Bins Hexagone sind und die Farbe die Anzahl der Datenpunkte in jedem Bin repräsentiert. Sie eignen sich zur Visualisierung der Verteilung großer Datensätze.
Tipps für die VM
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Bibliotheken importieren
Um einen hexagonalen Binned-Plot zu erstellen, müssen wir die folgenden Bibliotheken importieren:
matplotlib.pyplotzum Erstellen des Plotsnumpyzum Generieren von zufälligen Daten
import matplotlib.pyplot as plt
import numpy as np
Daten generieren
Wir werden 100.000 Datenpunkte mit numpy.random.standard_normal() und numpy.random.standard_normal() generieren. standard_normal() generiert Zufallszahlen aus einer Standardnormalverteilung mit einem Mittelwert von 0 und einer Standardabweichung von 1.
np.random.seed(19680801)
n = 100_000
x = np.random.standard_normal(n)
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
xlim = x.min(), x.max()
ylim = y.min(), y.max()
Erstellen des hexagonalen Binned-Plots
Wir werden den hexagonalen Binned-Plot mit matplotlib.pyplot.hexbin() erstellen.
fig, ax = plt.subplots(figsize=(9, 4))
hb = ax.hexbin(x, y, gridsize=50, cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("Hexagon binning")
cb = fig.colorbar(hb, ax=ax, label='counts')
Hier legen wir die Gittergröße auf 50 und die Farbpalette auf 'inferno' fest. Wir fügen auch eine Farbskala hinzu, um die Anzahl der Datenpunkte in jedem Hexagon anzuzeigen.
Fügen Sie eine logarithmische Farbskala hinzu
Wir können einer logarithmischen Farbskala zum hexagonalen Binned-Plot hinzufügen, indem wir bins='log' in hexbin() festlegen.
fig, ax = plt.subplots(figsize=(9, 4))
hb = ax.hexbin(x, y, gridsize=50, bins='log', cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("With a log color scale")
cb = fig.colorbar(hb, ax=ax, label='log10(N)')
Zeigen Sie den Plot an
Schließlich zeigen wir den Plot mit plt.show() an.
plt.show()
Zusammenfassung
In diesem Tutorial haben wir gelernt, wie man einen hexagonalen Binned-Plot mit matplotlib.pyplot.hexbin() in Python erstellt. Wir haben Zufallsdaten mit numpy.random.standard_normal() und numpy.random.standard_normal() generiert, den hexagonalen Binned-Plot erstellt, eine logarithmische Farbskala hinzugefügt und den Plot mit plt.show() angezeigt.