Funciones avanzadas de Quiver y Quiverkey

MatplotlibMatplotlibBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Matplotlib es una biblioteca de visualización de datos en Python que permite a los usuarios crear una amplia variedad de gráficos bidimensionales y tridimensionales. Una de las muchas características útiles de Matplotlib es la capacidad de crear gráficos de flechas, que muestran campos vectoriales.

Esta práctica demostrará algunas opciones avanzadas para las funciones quiver() y quiverkey() en Matplotlib. Estas funciones permiten la personalización de las flechas en un gráfico de flechas, incluyendo la escala de las flechas, el punto de pivote y la frecuencia de las flechas.

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 Notebook 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 resolveremos rápidamente el problema para usted.

Las flechas se escalan con el ancho de la gráfica, no con la vista

La función quiver() se puede utilizar para crear un gráfico de flechas. Por defecto, las flechas en el gráfico se escalarán con los datos, en lugar de con el gráfico mismo. Esto puede dificultar la visualización de las flechas que se encuentran cerca del borde del gráfico.

import matplotlib.pyplot as plt
import numpy as np

X, Y = np.meshgrid(np.arange(0, 2 * np.pi,.2), np.arange(0, 2 * np.pi,.2))
U = np.cos(X)
V = np.sin(Y)

fig1, ax1 = plt.subplots()
ax1.set_title('Arrows scale with plot width, not view')
Q = ax1.quiver(X, Y, U, V, units='width')
qk = ax1.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
plt.show()

Punto de pivote y frecuencia de las flechas

La función quiver() también se puede utilizar para personalizar el punto de pivote de las flechas y la frecuencia con la que se muestran. El parámetro pivot se puede establecer en 'mid' o 'tip', y los arrays pasados a quiver() se pueden segmentar para mostrar solo cada n-ésima flecha.

fig2, ax2 = plt.subplots()
ax2.set_title("pivot='mid'; every third arrow; units='inches'")
Q = ax2.quiver(X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3],
               pivot='mid', units='inches')
qk = ax2.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
ax2.scatter(X[::3, ::3], Y[::3, ::3], color='r', s=5)
plt.show()

Escalar las flechas con la vista en el eje x

La función quiver() también permite escalar las flechas con la vista en el eje x. Esto puede ser útil para mostrar flechas a diferentes escalas dependiendo de los datos.

fig3, ax3 = plt.subplots()
ax3.set_title("pivot='tip'; scales with x view")
M = np.hypot(U, V)
Q = ax3.quiver(X, Y, U, V, M, units='x', pivot='tip', width=0.022,
               scale=1 / 0.15)
qk = ax3.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
ax3.scatter(X, Y, color='0.5', s=1)
plt.show()

Resumen

Esta práctica mostró algunas opciones avanzadas para las funciones quiver() y quiverkey() en Matplotlib. Estas opciones permiten la personalización de las flechas en un gráfico de flechas, incluyendo la escala de las flechas, el punto de pivote y la frecuencia de las flechas. Al utilizar estas opciones, los usuarios pueden crear gráficos de flechas más informativos y visualmente atractivos.