Introdução
Este laboratório demonstra como plotar dados 2D em eixos seletivos de um gráfico 3D usando a palavra-chave zdir de ax.plot. A biblioteca matplotlib em Python é usada para criar o gráfico 3D.
Dicas da 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. Precisamos de matplotlib e numpy para plotar o gráfico 3D.
import matplotlib.pyplot as plt
import numpy as np
Criar um Gráfico 3D
O segundo passo é criar um gráfico 3D usando ax = plt.figure().add_subplot(projection='3d').
ax = plt.figure().add_subplot(projection='3d')
Plotar Dados 2D no Gráfico 3D
O terceiro passo é plotar dados 2D no gráfico 3D usando ax.plot e ax.scatter. A função ax.plot plota uma curva seno usando os eixos x e y. A função ax.scatter plota dados de um scatterplot nos eixos x e z.
## Plot a sin curve using the x and y axes.
x = np.linspace(0, 1, 100)
y = np.sin(x * 2 * np.pi) / 2 + 0.5
ax.plot(x, y, zs=0, zdir='z', label='curve in (x, y)')
## Plot scatterplot data (20 2D points per colour) on the x and z axes.
colors = ('r', 'g', 'b', 'k')
## Fixing random state for reproducibility
np.random.seed(19680801)
x = np.random.sample(20 * len(colors))
y = np.random.sample(20 * len(colors))
c_list = []
for c in colors:
c_list.extend([c] * 20)
## By using zdir='y', the y value of these points is fixed to the zs value 0
## and the (x, y) points are plotted on the x and z axes.
ax.scatter(x, y, zs=0, zdir='y', c=c_list, label='points in (x, z)')
Personalizar o Gráfico
O quarto passo é personalizar o gráfico adicionando uma legenda, definindo os limites e rótulos dos eixos e alterando o ângulo de visualização.
## Make legend, set axes limits and labels
ax.legend()
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
## Customize the view angle so it's easier to see that the scatter points lie
## on the plane y=0
ax.view_init(elev=20., azim=-35, roll=0)
plt.show()
Visualizar o Gráfico
O passo final é visualizar o gráfico 3D executando o código.
Resumo
Neste laboratório, aprendemos como plotar dados 2D em eixos seletivos de um gráfico 3D usando a palavra-chave zdir do ax.plot. Também aprendemos como personalizar o gráfico adicionando uma legenda, definindo os limites e rótulos dos eixos e alterando o ângulo de visualização.