Introdução
Neste laboratório, aprenderemos como animar um gráfico de wireframe 3D usando Matplotlib, uma popular biblioteca de visualização de dados em Python.
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
O primeiro passo é importar as bibliotecas necessárias: Matplotlib, NumPy e time.
import time
import matplotlib.pyplot as plt
import numpy as np
Configurar a Figura e o Subplot
O segundo passo é configurar a figura e o subplot. Criaremos um gráfico 3D usando add_subplot.
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
Criar uma Meshgrid
O terceiro passo é criar uma meshgrid usando linspace.
xs = np.linspace(-1, 1, 50)
ys = np.linspace(-1, 1, 50)
X, Y = np.meshgrid(xs, ys)
Definir os Limites do Eixo Z
O quarto passo é definir os limites do eixo z para que não sejam recalculados a cada frame.
ax.set_zlim(-1, 1)
Animar o Gráfico
O quinto passo é animar o gráfico. Usaremos um loop for para iterar através de uma faixa de valores para phi. Em cada iteração, removeremos a coleção de linhas anterior, geraremos novos dados, plotaremos o novo wireframe e faremos uma pausa brevemente antes de continuar.
wframe = None
tstart = time.time()
for phi in np.linspace(0, 180. / np.pi, 100):
if wframe:
wframe.remove()
Z = np.cos(2 * np.pi * X + phi) * (1 - np.hypot(X, Y))
wframe = ax.plot_wireframe(X, Y, Z, rstride=2, cstride=2)
plt.pause(.001)
Exibir a Média de FPS
O sexto passo é exibir a média de quadros por segundo (FPS) usando o tempo total que levou para executar a animação.
print('Average FPS: %f' % (100 / (time.time() - tstart)))
Resumo
Neste laboratório, aprendemos como animar um gráfico wireframe 3D usando Matplotlib. Usamos um loop for para iterar através de uma faixa de valores para phi, geramos novos dados, plotamos o novo wireframe e pausamos brevemente antes de continuar. Finalmente, exibimos a média de quadros por segundo (FPS) usando o tempo total que levou para executar a animação.