jueves, 24 de mayo de 2018

Nube de puntos en Python con matplotlib

Existe una librería en Python que está orientada a la representación gráfica de funciones y gráficos científicos. Se denomina matplotlib. Veamos un ejemplo con la creación de una nube de puntos generados de forma aleatoria siguiendo una distribución normal centrada en el origen. El gráfico es de tipo dispersión (XY).

Generamos 5.000 puntos, aleatorios siguiendo una distribución normal N(0,1).

Código

import numpy as np
import matplotlib.pyplot as plt
n = 5000
x = np.random.randn(n)
y = np.random.randn(n)
plt.figure(figsize=(10,7))
plt.plot(x,y,'o',markersize=2)
plt.show()

Al poner el atributo 'o' lo que hacemos es evitar que se unan todos los puntos con líneas rectas. De esta forma únicamente aparece cada punto de forma individual.

La expresión random.randn(n) nos proporciona n números aleatorios que se ajustan a una distribución de probabilidad normal N(0,1) de media cero y desviación típica uno. Al generar dos variables x e y para los dos ejes cartesianos lo que obtenemos es una nube de puntos centrada el el origen del plano,
Entorno al punto (0,0) se ve una mayor concentración de puntos, y a medida que nos alejamos del origen el número de puntos se reduce.

No hay comentarios:

Publicar un comentario