Hexagonales Binned-Plot

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.pyplot zum Erstellen des Plots
  • numpy zum 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.