Gráfico de Quiver 3D com Matplotlib

Beginner

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

Introdução

Neste laboratório, você aprenderá como criar um gráfico de vetores 3D (quiver plot) usando Python Matplotlib. Um gráfico de vetores exibe um campo vetorial como setas. As setas apontam na direção dos vetores e seu comprimento representa a magnitude dos vetores.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar Bibliotecas e Configurar o Gráfico

O primeiro passo é importar as bibliotecas necessárias e configurar o gráfico. Neste exemplo, usaremos o módulo pyplot do Matplotlib e seu toolkit 3d para criar o gráfico 3D.

import matplotlib.pyplot as plt
import numpy as np

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

Criar a Grade

Em seguida, criaremos uma grade de pontos na qual exibiremos o campo vetorial. Neste exemplo, criaremos uma meshgrid de pontos usando a função meshgrid do NumPy. A função arange é usada para criar um array de pontos espaçados uniformemente dentro de um 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 a Direção das Setas

Agora, definiremos a direção das setas. Neste exemplo, definiremos a direção das setas usando as funções trigonométricas do NumPy. As funções sin e cos são usadas para criar os arrays u, v e w que representam a direção das setas nas direções x, y e 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))

Criar o Gráfico de Quiver

Com a grade e a direção das setas definidas, podemos criar o gráfico de quiver. Neste exemplo, usaremos a função quiver do Matplotlib para criar o gráfico. O parâmetro length define o comprimento das setas e o parâmetro normalize normaliza as setas para um comprimento de 1.

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

Exibir o Gráfico

Finalmente, exibiremos o gráfico usando a função show do Matplotlib.

plt.show()

Resumo

Neste laboratório, você aprendeu como criar um gráfico de quiver 3D usando Python Matplotlib. A função meshgrid foi usada para criar uma grade de pontos, e as funções trigonométricas do NumPy foram usadas para definir a direção das setas. A função quiver foi então usada para criar o gráfico, e a função show foi usada para exibi-lo.