Introducción
Este tutorial lo guiará a través del proceso de creación de un diagrama de referencia con estilo de flecha utilizando Matplotlib en Python. El diagrama mostrará los diferentes estilos de flecha disponibles en ~.Axes.annotate.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar las bibliotecas necesarias
Importa las bibliotecas necesarias para crear el diagrama de referencia con estilo de flecha.
import inspect
import itertools
import re
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
Obtener estilos de flecha
Utiliza mpatches.ArrowStyle.get_styles() para obtener todos los estilos de flecha disponibles en ~.Axes.annotate.
styles = mpatches.ArrowStyle.get_styles()
Configurar la figura
Configura la figura utilizando plt.figure() y add_gridspec(). La figura tendrá una cuadrícula de 2 columnas y n filas, donde n es el número de estilos de flecha. Cada celda de la cuadrícula contendrá un estilo de flecha y sus parámetros predeterminados.
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")
Representar los estilos de flecha
Representa cada estilo de flecha en una celda de la cuadrícula, junto con sus parámetros predeterminados. Utiliza ax.annotate() para agregar el nombre del estilo de flecha y sus parámetros predeterminados a la celda.
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")
Mostrar el diagrama
Muestra el diagrama de referencia de estilos de flecha utilizando plt.show().
plt.show()
Resumen
En este tutorial, aprendiste cómo crear un diagrama de referencia de estilos de flecha utilizando Matplotlib en Python. Utilizaste mpatches.ArrowStyle.get_styles() para obtener todos los estilos de flecha disponibles en ~.Axes.annotate, configuraste una figura utilizando plt.figure() y add_gridspec(), representaste cada estilo de flecha en una celda de la cuadrícula y mostraste el diagrama utilizando plt.show().