Gráfico de Hexbin para el conjunto de 3000 datos
Los gráficos de dispersión son uno de los más utilizados para representar cómo se distribuyen los valores de un conjunto de datos en un plano. Son fáciles de crear y sencillos de interpretar. Aunque, cuando el conjunto de datos cuenta con centenas de registros, los gráficos de dispersión pueden ser demasiado densos para interpretarlos. En esta situación una alternativa es utilizar un gráfico de Hexbin.
Un gráfico de Hexbin es un tipo de visualización de datos que se puede utilizar para representar la distribución de puntos en un plano. A diferencia de los gráficos de dispersión, en lugar de representar cada uno de los puntos de forma individual, los puntos se agrupan en hexágonos regulares con los que se cubre todo el plano. La densidad de puntos en cada hexágono se representa mediante una escala de colores, permitiendo visualizar las zonas donde hay mayor o menor concentración de datos. El detalle del gráfico se puede ajustar cambiando el tamaño de los hexágonos.
Los gráficos de Hexbin son particularmente útiles cuando se trabaja con conjuntos de datos muy grandes, ya que pueden resumir una gran cantidad de información en una sola figura fácil de interpretar.
Algunas de las ventajas de los gráficos de hexbin frente a los gráficos de dispersión son:
La mejor manera de ver las ventajas que tienen los gráficos de Hexbin cuando se necesita representar grandes conjuntos de datos es crear unos valores aleatorios y representar ambos en Python. Así, se puede emplear el siguiente código para crear el conjunto de datos y una gráfica de dispersión con ellos.
import numpy as np import matplotlib.pyplot as plt # Generar datos aleatorios np.random.seed(1) x = np.dot(np.random.random(size = (2, 2)), np.random.normal(size = (2, 3000))).T # Crear el gráfico de dispersión plt.scatter(x[:, 0], x[:, 1]) # Mostrar el gráfico plt.show()
En este ejemplo se ha fijado la semilla a 1 y creado un conjunto de 3000 de registros aleatorios con np.random.random(). Una vez hecho se representan mediante un gráfico de dispersión. A pesar de que el conjunto de datos no es excesivamente grande, solamente 500 puntos, ya se puede apreciar una superposición en de los datos que pueden crear confusión.
Para crear un gráfico de Hexbin en Python se puede recurrir a la función hexbin() de Matplotlib. Necesitando los mismos datos que la función scatter(), aunque es recomendable indicar el tamaño de los hexágonos para que la gráfica se adapte a nuestra necesidades, esto es lo que se hace en el siguiente código.
# Crear el gráfico de Hexbin plt.hexbin(x[:, 0], x[:, 1], gridsize=20, cmap='Blues') # Mostrar el gráfico plt.show()
Empleando dos opciones gridsize para indicar el tamaño de los hexágonos y cmap para los colores que se desean usar. Como se puede ver en este ejemplo los datos son más fáciles de interpretar en esta segunda figura.
Aunque la gráfica anterior es más fácil de interpretar, no se puede saber fácilmente cual es la densidad en cada uno de los hexágonos. Un problema que se puede solucionar fácilmente agregando la escala de colores. Para lo que se puede recurrir la función colorbar() Matplotlib que únicamente necesita la salida de la función hexbin(). De este modo, con una pequeña modificación del código, se puede comprobar a que valores se corresponde cada uno de los colores.
# Crear el gráfico de Hexbin hb = plt.hexbin(x[:, 0], x[:, 1], gridsize=20, cmap='Blues') # Agregar la escala de color plt.colorbar(hb) # Mostrar el gráfico plt.show()
Ahora se puede ver como los colores más oscuros indica más de 80 puntos en cada uno de los hexágonos
Los gráficos de hexbin son una excelente alternativa a los gráficos de dispersión cuando se trabaja con conjuntos de datos de tamaño mediano o grande. Siendo una forma eficaz de mostrar la distribución de datos en un espacio bidimensional, permitiendo una mejor comprensión de la distribución y patrones de los datos en comparación con los gráficos de dispersión.
En Analytics Lane seguimos evolucionando nuestras herramientas y damos un paso más con el lanzamiento…
Cuando hablamos de clustering, lo primero que viene a la mente suele ser k-means. Pero…
Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…
Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…
Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…
Cerramos la serie internacional con la categoría más estrambótica de todas: indicadores que predicen el…
This website uses cookies.