Introdução
Este tutorial irá guiá-lo através da criação de um gráfico de dispersão (scatter plot) com pontos de dados mascarados usando a biblioteca Python Matplotlib. Também adicionaremos uma linha para demarcar as regiões mascaradas.
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ê.
Importando as Bibliotecas Necessárias e Definindo a Semente Aleatória
Começamos importando as bibliotecas necessárias e definindo a semente aleatória para garantir a reprodutibilidade.
import matplotlib.pyplot as plt
import numpy as np
## Definindo a semente aleatória para reprodutibilidade
np.random.seed(19680801)
Gerando Dados para o Gráfico de Dispersão
Em seguida, geramos dados para o gráfico de dispersão. Criamos 100 pontos de dados com valores aleatórios de x e y entre 0 e 0.9, e raios aleatórios entre 0 e 10. A cor de cada ponto de dados é determinada pela raiz quadrada de sua área.
N = 100
r0 = 0.6
x = 0.9 * np.random.rand(N)
y = 0.9 * np.random.rand(N)
area = (20 * np.random.rand(N))**2 ## 0 to 10 point radii
c = np.sqrt(area)
Mascarando Pontos de Dados e Criando o Gráfico de Dispersão
Nós mascaramos os pontos de dados com base em sua distância da origem. Pontos de dados com uma distância menor que r0 são mascarados em area1, e aqueles com uma distância maior ou igual a r0 são mascarados em area2. Em seguida, criamos um gráfico de dispersão dos pontos de dados mascarados com marker='^' e marker='o' para area1 e area2, respectivamente.
r = np.sqrt(x ** 2 + y ** 2)
area1 = np.ma.masked_where(r < r0, area)
area2 = np.ma.masked_where(r >= r0, area)
plt.scatter(x, y, s=area1, marker='^', c=c)
plt.scatter(x, y, s=area2, marker='o', c=c)
Adicionando uma Linha para Demarcar as Regiões Mascaradas
Finalmente, adicionamos uma linha para demarcar as regiões mascaradas. Criamos um array de valores theta e plotamos um círculo com raio r0 usando np.cos(theta) e np.sin(theta).
## Show the boundary between the regions:
theta = np.arange(0, np.pi / 2, 0.01)
plt.plot(r0 * np.cos(theta), r0 * np.sin(theta))
Exibindo o Gráfico de Dispersão
Nós exibimos o gráfico de dispersão usando plt.show().
plt.show()
Resumo
Neste tutorial, aprendemos como criar um gráfico de dispersão com pontos de dados mascarados usando a biblioteca Python Matplotlib. Também adicionamos uma linha para demarcar as regiões mascaradas. Começamos importando as bibliotecas necessárias e definindo a semente aleatória. Em seguida, geramos dados para o gráfico de dispersão e mascaramos os pontos de dados com base em sua distância da origem. Depois, criamos um gráfico de dispersão dos pontos de dados mascarados e adicionamos uma linha para demarcar as regiões mascaradas. Finalmente, exibimos o gráfico de dispersão.