Matplotlib Spines anpassen

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 Lab lernst du, wie du in Matplotlib die Spines anpassen kannst. Spines sind die Linien, die die Achsenmarkierungen verbinden und die Grenzen der Datenfläche markieren. Standardmäßig zeigt Matplotlib Spines auf allen vier Seiten des Graphen an. Möglicherweise möchtest du jedoch diese Spines anpassen, um deine Daten besser hervorzuheben.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn du bei der Lernphase Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Matplotlib und NumPy importieren

Zunächst müssen wir die Matplotlib- und NumPy-Bibliotheken importieren, um unseren Graphen zu erstellen. Wir werden NumPy verwenden, um Beispielsdaten für unseren Graphen zu erstellen.

import matplotlib.pyplot as plt
import numpy as np

Beispielsdaten erstellen

Als nächstes werden wir mit NumPy Beispielsdaten für unseren Graphen erstellen. Wir werden 100 Datenpunkte zwischen 0 und 2π generieren und deren zugehörige Sinuswerte berechnen.

x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)

Subplots erstellen

Wir werden drei Subplots erstellen, um verschiedene Anpassungen der Spines zu demonstrieren. Wir werden das eingeschränkte Layout verwenden, um sicherzustellen, dass die Beschriftungen nicht mit den Achsen überlappen.

fig, (ax0, ax1, ax2) = plt.subplots(nrows=3, layout='constrained')

Spines für alle vier Seiten anpassen

Im ersten Subplot werden wir Spines auf allen vier Seiten des Graphen anzeigen. Wir können die Spines jedes Subplots über den Container ax.spines zugreifen. Anschließend können wir die Spines mit verschiedenen Methoden anpassen.

ax0.plot(x, y)
ax0.set_title('Normal Spines')

Spines für die untere und linke Seite anpassen

Im zweiten Subplot werden wir Spines nur auf der unteren und linken Seite des Graphen anzeigen. Wir können die Spines auf der rechten und oberen Seite des Graphen mit der set_visible-Methode ausblenden.

ax1.plot(x, y)
ax1.set_title('Bottom-Left Spines')

## Hide the right and top spines
ax1.spines.right.set_visible(False)
ax1.spines.top.set_visible(False)

Spines mit Grenzen, die auf den Datenbereich beschränkt sind, anpassen

Im dritten Subplot werden wir Spines mit Grenzen anzeigen, die auf den Datenbereich beschränkt sind. Wir können die Ausdehnung jeder Spine auf den Datenbereich begrenzen, indem wir die set_bounds-Methode verwenden.

ax2.plot(x, y)
ax2.set_title('Spines with Bounds Limited to Data Range')

## Only draw spines for the data range, not in the margins
ax2.spines.bottom.set_bounds(x.min(), x.max())
ax2.spines.left.set_bounds(y.min(), y.max())
## Hide the right and top spines
ax2.spines.right.set_visible(False)
ax2.spines.top.set_visible(False)

Zeige den Graphen an

Schließlich werden wir den Graphen mit der show-Methode anzeigen.

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Spines in Matplotlib anpassen. Insbesondere haben Sie gelernt, wie Sie Spines auf bestimmten Seiten des Graphen anzeigen, Spines auf bestimmten Seiten des Graphen ausblenden und die Ausdehnung jeder Spine auf den Datenbereich begrenzen. Indem Sie die Spines anpassen, können Sie Graphen erstellen, die Ihre Daten besser hervorheben und deren Gesamtlesbarkeit verbessern.