Einfache angeheftete Künstler

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 die in Matplotlibs offsetbox und mpl_toolkits.axes_grid1 enthaltenen angehefteten Hilfsklassen verwendest. Du wirst eine Figur erstellen, die Textfelder, einen Kreis und eine Maßstäbe enthält, indem du diese Klassen verwendest.

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 während des Lernens Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Bibliotheken importieren

Um loszulegen, musst du Matplotlib und die erforderlichen Module importieren.

import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
from matplotlib.patches import Circle
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea, AnchoredSizeBar

Figur erstellen

Erstelle eine Figur und ein Achsenobjekt mit der subplots()-Funktion von Matplotlib.

fig, ax = plt.subplots()
ax.set_aspect(1.)

Füge Textfelder hinzu

Füge zwei Textfelder zur Figur hinzu, die an verschiedene Ecken im oberen linken Eck der Figur befestigt sind.

at = AnchoredText("Figure 1a",
                  loc='upper left', prop=dict(size=8), frameon=True,
                  )
at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at)

at2 = AnchoredText("Figure 1(b)",
                   loc='lower left', prop=dict(size=8), frameon=True,
                   bbox_to_anchor=(0., 1.),
                   bbox_transform=ax.transAxes
                   )
at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at2)

Zeichne einen Kreis

Zeichne einen Kreis in Achsenkoordinaten.

ada = AnchoredDrawingArea(20, 20, 0, 0,
                          loc='upper right', pad=0., frameon=False)
p = Circle((10, 10), 10)
ada.da.add_artist(p)
ax.add_artist(ada)

Füge eine Maßstäbe hinzu

Zeichne eine horizontale Linie mit einer Länge von 0,1 in Datenkoordinaten mit einem festen Label darunter.

asb = AnchoredSizeBar(ax.transData,
                      0.1,
                      r"1$^{\prime}$",
                      loc='lower center',
                      pad=0.1, borderpad=0.5, sep=5,
                      frameon=False)
ax.add_artist(asb)

Zeige die Figur an

Zeige die Figur mit der show()-Funktion von Matplotlib an.

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die in Matplotlibs offsetbox und mpl_toolkits.axes_grid1 enthaltenen Hilfsklassen mit Ankern verwenden, um eine Figur mit Textfeldern, einem Kreis und einer Maßstäbe zu erstellen. Sie können diese Klassen verwenden, um informative Anmerkungen und Grafiken zu Ihren Figuren hinzuzufügen.