Anpassen der Skalenbeschriftungsausrichtung in Matplotlib

Beginner

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

Einführung

Beim Datenvisualisierung spielen die Skalenbeschriftungen eine wichtige Rolle bei der Übermittlung von Informationen an die Betrachter. Manchmal müssen wir die Ausrichtung der Skalenbeschriftungen anpassen, um sie lesbarer zu machen oder um Überlappungen zu vermeiden. In diesem Lab werden wir lernen, wie man mit Matplotlib die Ausrichtung der Skalenbeschriftungen anpasst.

VM-Tipps

Nachdem die VM gestartet 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 von Einschränkungen in 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.

Matplotlib und AxisArtist importieren

Zunächst müssen wir Matplotlib und AxisArtist importieren, das zusätzliche Tools zum Erstellen benutzerdefinierter Achsen bietet.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

Funktion zur Einrichtung von Achsen definieren

Um den Code zu vereinfachen, können wir eine Funktion definieren, die ein Figurobjekt und eine Position als Eingabe nimmt und ein Achsenobjekt mit benutzerdefinierten Skalenbeschriftungen zurückgibt.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)
    ax.set_yticks([0.2, 0.8], labels=["short", "loooong"])
    ax.set_xticks([0.2, 0.8], labels=[r"$\frac{1}{2}\pi$", r"$\pi$"])
    return ax

Erstellen einer Figur und Hinzufügen von Teilfiguren

Als nächstes können wir ein Figurobjekt erstellen und drei Teilfiguren mit der Funktion setup_axes hinzufügen.

fig = plt.figure(figsize=(3, 5))
fig.subplots_adjust(left=0.5, hspace=0.7)

ax = setup_axes(fig, 311)
ax.set_ylabel("ha=right")
ax.set_xlabel("va=baseline")

ax = setup_axes(fig, 312)
ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")
ax.set_ylabel("ha=center")
ax.set_xlabel("va=top")

ax = setup_axes(fig, 313)
ax.axis["left"].major_ticklabels.set_ha("left")
ax.axis["bottom"].major_ticklabels.set_va("bottom")
ax.set_ylabel("ha=left")
ax.set_xlabel("va=bottom")

Skalenbeschriftungsausrichtung anpassen

Schließlich können wir die Methoden set_ha und set_va verwenden, um die horizontale und vertikale Ausrichtung der Skalenbeschriftungen anzupassen.

ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")

Diagramm anzeigen

Um das Diagramm anzuzeigen, können wir die show-Methode verwenden.

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit Matplotlib und AxisArtist die Ausrichtung von Skalenbeschriftungen anpasst. Indem wir die horizontale und vertikale Ausrichtung der Skalenbeschriftungen anpassen, können wir die Lesbarkeit und Klarheit unserer Datenvisualisierungen verbessern.