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 la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…
En la serie Creación de una API REST con Express y TypeScript construimos una API…
Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…
En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…
Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…
En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…
This website uses cookies.