Einführung
In diesem Tutorial führen wir Sie durch den Prozess der Erstellung eines Pfeilstyles-Referenzdiagramms mit Matplotlib in Python. Das Diagramm wird die verschiedenen Pfeilstile anzeigen, die in ~.Axes.annotate zur Verfügung stehen.
VM-Tipps
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 nutzen.
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.
Importiere erforderliche Bibliotheken
Importiere die erforderlichen Bibliotheken, um das Pfeilstyles-Referenzdiagramm zu erstellen.
import inspect
import itertools
import re
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
Holen Sie sich die Pfeilstile
Verwenden Sie mpatches.ArrowStyle.get_styles(), um alle verfügbaren Pfeilstile in ~.Axes.annotate abzurufen.
styles = mpatches.ArrowStyle.get_styles()
Einrichten der Abbildung
Richten Sie die Abbildung mit plt.figure() und add_gridspec() ein. Die Abbildung wird ein Gitter mit 2 Spalten und n Zeilen haben, wobei n die Anzahl der Pfeilstile ist. In jeder Zelle des Gitters wird ein Pfeilstil und seine Standardparameter enthalten.
ncol = 2
nrow = (len(styles) + 1) // ncol
axs = (plt.figure(figsize=(4 * ncol, 1 + nrow))
.add_gridspec(1 + nrow, ncol,
wspace=.7, left=.1, right=.9, bottom=0, top=1).subplots())
for ax in axs.flat:
ax.set_axis_off()
for ax in axs[0, :]:
ax.text(0,.5, "arrowstyle",
transform=ax.transAxes, size="large", color="tab:blue",
horizontalalignment="center", verticalalignment="center")
ax.text(.35,.5, "default parameters",
transform=ax.transAxes,
horizontalalignment="left", verticalalignment="center")
Zeichnen der Pfeilstile
Zeichnen Sie jeden Pfeilstil in einer Zelle des Gitters zusammen mit seinen Standardparametern. Verwenden Sie ax.annotate(), um den Pfeilstilnamen und seine Standardparameter zur Zelle hinzuzufügen.
for ax, (stylename, stylecls) in zip(axs[1:, :].T.flat, styles.items()):
l, = ax.plot(.25,.5, "ok", transform=ax.transAxes)
ax.annotate(stylename, (.25,.5), (-0.1,.5),
xycoords="axes fraction", textcoords="axes fraction",
size="large", color="tab:blue",
horizontalalignment="center", verticalalignment="center",
arrowprops=dict(
arrowstyle=stylename, connectionstyle="arc3,rad=-0.05",
color="k", shrinkA=5, shrinkB=5, patchB=l,
),
bbox=dict(boxstyle="square", fc="w"))
## wrap at every nth comma (n = 1 or 2, depending on text length)
s = str(inspect.signature(stylecls))[1:-1]
n = 2 if s.count(',') > 3 else 1
ax.text(.35,.5,
re.sub(', ', lambda m, c=itertools.count(1): m.group()
if next(c) % n else '\n', s),
transform=ax.transAxes,
horizontalalignment="left", verticalalignment="center")
Zeige das Diagramm an
Zeige das Pfeilstyles-Referenzdiagramm mit plt.show() an.
plt.show()
Zusammenfassung
In diesem Tutorial haben Sie gelernt, wie Sie eine Pfeilstyles-Referenzgrafik mit Matplotlib in Python erstellen. Sie haben mpatches.ArrowStyle.get_styles() verwendet, um alle verfügbaren Pfeilstyles in ~.Axes.annotate abzurufen, eine Abbildung mit plt.figure() und add_gridspec() eingerichtet, jeden Pfeilstyle in einer Zelle des Gitters geplottet und die Grafik mit plt.show() angezeigt.