Gráfico de flechas tridimensionales con Matplotlib

Beginner

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

Introducción

En este laboratorio, aprenderá a crear un gráfico de flechas 3D utilizando Python Matplotlib. Un gráfico de flechas muestra un campo de vectores como flechas. Las flechas apuntan en la dirección de los vectores y su longitud representa la magnitud de los vectores.

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 su retroalimentación después de la sesión y lo resolveremos rápidamente para usted.

Importar bibliotecas y configurar el gráfico

El primer paso es importar las bibliotecas necesarias y configurar el gráfico. En este ejemplo, usaremos el módulo pyplot de Matplotlib y su herramienta 3d para crear el gráfico 3D.

import matplotlib.pyplot as plt
import numpy as np

ax = plt.figure().add_subplot(projection='3d')

Crear la cuadrícula

A continuación, crearemos una cuadrícula de puntos en la que mostraremos el campo de vectores. En este ejemplo, crearemos una malla de puntos utilizando la función meshgrid de NumPy. La función arange se utiliza para crear una matriz de puntos equidistantes dentro de un intervalo especificado.

x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.8))

Definir la dirección de las flechas

Ahora definiremos la dirección de las flechas. En este ejemplo, definiremos la dirección de las flechas utilizando las funciones trigonométricas de NumPy. Las funciones sin y cos se utilizan para crear las matrices u, v y w que representan la dirección de las flechas en las direcciones x, y y z.

u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)
v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)
w = (np.sqrt(2.0 / 3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) *
     np.sin(np.pi * z))

Crear el gráfico de flechas

Con la cuadrícula y la dirección de las flechas definidas, podemos crear el gráfico de flechas. En este ejemplo, usaremos la función quiver de Matplotlib para crear el gráfico. El parámetro length establece la longitud de las flechas y el parámetro normalize normaliza las flechas a una longitud de 1.

ax.quiver(x, y, z, u, v, w, length=0.1, normalize=True)

Mostrar el gráfico

Finalmente, mostraremos el gráfico utilizando la función show de Matplotlib.

plt.show()

Resumen

En este laboratorio, aprendiste cómo crear un gráfico de flechas tridimensionales utilizando Matplotlib de Python. La función meshgrid se utilizó para crear una cuadrícula de puntos, y las funciones trigonométricas de NumPy se utilizaron para definir la dirección de las flechas. Luego, la función quiver se utilizó para crear el gráfico, y la función show se utilizó para mostrarlo.