Benutzerdefinierte Spines mit Axisartist

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 gezeigt, wie die Matplotlib-Bibliothek verwendet werden kann, um benutzerdefinierte Spines an bestimmten Positionen zu erstellen.

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 in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens 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

Zunächst müssen wir die erforderlichen Bibliotheken für dieses Tutorial importieren. Wir werden Matplotlib und NumPy verwenden.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits import axisartist

Figur und Teilplots erstellen

Wir werden eine Figur mit zwei Teilplots mit der Methode add_gridspec erstellen.

fig = plt.figure(figsize=(6, 3), layout="constrained")
gs = fig.add_gridspec(1, 2)

Ersten Teilplot erstellen

Im ersten Teilplot werden wir eine neue Achse erstellen, die durch y = 0 verläuft, mithilfe von axisartist.Axes. Wir werden auch die anderen Spines unsichtbar machen.

ax0 = fig.add_subplot(gs[0, 0], axes_class=axisartist.Axes)
ax0.axis["y=0"] = ax0.new_floating_axis(nth_coord=0, value=0, axis_direction="bottom")
ax0.axis["y=0"].toggle(all=True)
ax0.axis["y=0"].label.set_text("y = 0")
ax0.axis["bottom", "top", "right"].set_visible(False)

Zweiten Teilplot erstellen

Im zweiten Teilplot werden wir axisartist.axislines.AxesZero verwenden, um automatisch xzero- und yzero-Achsen zu erstellen. Wir werden die anderen Spines unsichtbar machen und die xzero-Achse sichtbar setzen.

ax1 = fig.add_subplot(gs[0, 1], axes_class=axisartist.axislines.AxesZero)
ax1.axis["xzero"].set_visible(True)
ax1.axis["xzero"].label.set_text("Achse Null")
ax1.axis["bottom", "top", "right"].set_visible(False)

Daten plotten

Jetzt, nachdem wir unsere Teilplots erstellt haben, können wir unsere Daten mit np.sin(x) plotten.

x = np.arange(0, 2*np.pi, 0.01)
ax0.plot(x, np.sin(x))
ax1.plot(x, np.sin(x))

Plot anzeigen

Schließlich können wir unseren Plot mit plt.show() anzeigen.

plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man mit der Matplotlib-Bibliothek benutzerdefinierte Spines an bestimmten Positionen erstellt. Wir haben eine Figur mit zwei Teilplots erstellt und axisartist.Axes und axisartist.axislines.AxesZero verwendet, um unsere Spines zu erstellen. Wir haben auch die anderen Spines unsichtbar gemacht und die xzero-Achse sichtbar gesetzt. Schließlich haben wir unsere Daten geplottet und unseren Plot angezeigt.