Introducción
En este laboratorio, aprenderá a dibujar una elipse con una flecha de orientación utilizando Matplotlib. Las elipses son un tipo de forma que se utiliza comúnmente en la visualización de datos para representar datos. Al agregar una flecha de orientación a una elipse, puede proporcionar información adicional sobre la dirección de los datos.
Consejos sobre la VM
Una vez que se haya iniciado 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 Matplotlib y crear una figura y un eje
Primero, debe importar Matplotlib y crear una figura y un eje. La figura y el eje son los contenedores de su gráfico.
import matplotlib.pyplot as plt
## Crear una figura y un eje
fig, ax = plt.subplots(subplot_kw={"aspect": "equal"})
Crear una elipse
A continuación, debe crear una elipse utilizando la clase Ellipse. Puede especificar el centro de la elipse, el ancho y alto de la elipse, y el ángulo de rotación.
from matplotlib.patches import Ellipse
ellipse = Ellipse(
xy=(2, 4),
width=30,
height=20,
angle=35,
facecolor="none",
edgecolor="b"
)
ax.add_patch(ellipse)
Agregar una flecha de orientación
Puede agregar una flecha de orientación a la elipse trazando un marcador en el punto final del eje menor. Puede utilizar el método get_co_vertices() para obtener las coordenadas de los vértices de la elipse. Luego, puede utilizar la clase Affine2D() para rotar el marcador para que coincida con el ángulo de la elipse.
from matplotlib.markers import MarkerStyle
from matplotlib.transforms import Affine2D
## Trazar un marcador de flecha en el punto final del eje menor
vertices = ellipse.get_co_vertices()
t = Affine2D().rotate_deg(ellipse.angle)
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle(">", "full", t),
markersize=10
)
Invertir la flecha de orientación
Si desea invertir la flecha de orientación, puede cambiar el tipo de marcador de > a <.
## Para invertir la flecha de orientación, cambie el tipo de marcador de > a <.
ax.plot(
vertices[0][0],
vertices[0][1],
color="b",
marker=MarkerStyle("<", "full", t),
markersize=10
)
Mostrar el gráfico
Finalmente, puede mostrar el gráfico utilizando el método show().
plt.show()
Resumen
¡Felicidades! Has aprendido cómo dibujar una elipse con una flecha de orientación utilizando Matplotlib. Esta técnica puede ser útil para visualizar datos que tienen una dirección.