Gráfico de Dispersão com Dados Mascarados usando Matplotlib

Beginner

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

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.