Diagrama de dispersión con datos enmascarados usando Matplotlib

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este tutorial te guiará a través de la creación de un diagrama de dispersión con puntos de datos enmascarados utilizando la biblioteca Matplotlib de Python. También agregaremos una línea para delimitar las regiones enmascaradas.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tengas que esperar unos segundos para que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Importando las bibliotecas necesarias y configurando la semilla aleatoria

Comenzamos importando las bibliotecas necesarias y configurando la semilla aleatoria para garantizar la reproducibilidad.

import matplotlib.pyplot as plt
import numpy as np

## Setting random seed for reproducibility
np.random.seed(19680801)

Generando datos para el diagrama de dispersión

A continuación, generamos datos para el diagrama de dispersión. Creamos 100 puntos de datos con valores aleatorios de x e y entre 0 y 0,9, y radios aleatorios entre 0 y 10. El color de cada punto de datos está determinado por la raíz cuadrada de su á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)

Enmascarando puntos de datos y creando el diagrama de dispersión

Enmascaramos los puntos de datos en función de su distancia al origen. Los puntos de datos con una distancia menor que r0 se enmascaran en area1, y aquellos con una distancia mayor o igual a r0 se enmascaran en area2. Luego creamos un diagrama de dispersión de los puntos de datos enmascarados con marker='^' y marker='o' para area1 y 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)

Agregando una línea para delimitar las regiones enmascaradas

Finalmente, agregamos una línea para delimitar las regiones enmascaradas. Creamos una matriz de valores de theta y trazamos un círculo con radio r0 utilizando np.cos(theta) y 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))

Mostrando el diagrama de dispersión

Mostramos el diagrama de dispersión utilizando plt.show().

plt.show()

Resumen

En este tutorial, aprendimos cómo crear un diagrama de dispersión con puntos de datos enmascarados utilizando la biblioteca Matplotlib de Python. También agregamos una línea para delimitar las regiones enmascaradas. Comenzamos importando las bibliotecas necesarias y estableciendo la semilla aleatoria. A continuación, generamos datos para el diagrama de dispersión y enmascaramos los puntos de datos en función de su distancia al origen. Luego creamos un diagrama de dispersión de los puntos de datos enmascarados y agregamos una línea para delimitar las regiones enmascaradas. Finalmente, mostramos el diagrama de dispersión.