Diagrama de contenedores hexagonales

Beginner

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

Introducción

Este tutorial lo guiará a través de la creación de un diagrama de contenedores hexagonales utilizando Matplotlib en Python. Los diagramas de contenedores hexagonales son diagramas de histograma bidimensionales en los que los contenedores son hexágonos y el color representa el número de puntos de datos dentro de cada contenedor. Son útiles para visualizar la distribución de grandes conjuntos de datos.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga 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 tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y lo resolveremos rápidamente para usted.

Importar bibliotecas

Para crear un diagrama de contenedores hexagonales, necesitamos importar las siguientes bibliotecas:

  • matplotlib.pyplot para crear el diagrama
  • numpy para generar datos aleatorios
import matplotlib.pyplot as plt
import numpy as np

Generar datos

Generaremos 100.000 puntos de datos utilizando numpy.random.standard_normal() y numpy.random.standard_normal(). standard_normal() genera números aleatorios a partir de una distribución normal estándar con una media de 0 y una desviación estándar de 1.

np.random.seed(19680801)

n = 100_000
x = np.random.standard_normal(n)
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
xlim = x.min(), x.max()
ylim = y.min(), y.max()

Crear el diagrama de contenedores hexagonales

Crearemos el diagrama de contenedores hexagonales utilizando matplotlib.pyplot.hexbin().

fig, ax = plt.subplots(figsize=(9, 4))

hb = ax.hexbin(x, y, gridsize=50, cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("Hexagon binning")

cb = fig.colorbar(hb, ax=ax, label='counts')

Aquí, establecemos el tamaño de la cuadrícula en 50 y la paleta de colores en 'inferno'. También agregamos una barra de colores para mostrar la cuenta de puntos de datos dentro de cada hexágono.

Agregar una escala de color logarítmica

Podemos agregar una escala de color logarítmica al diagrama de contenedores hexagonales estableciendo bins='log' en hexbin().

fig, ax = plt.subplots(figsize=(9, 4))

hb = ax.hexbin(x, y, gridsize=50, bins='log', cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("With a log color scale")

cb = fig.colorbar(hb, ax=ax, label='log10(N)')

Mostrar el diagrama

Finalmente, mostramos el diagrama utilizando plt.show().

plt.show()

Resumen

En este tutorial, aprendimos cómo crear un diagrama de contenedores hexagonales utilizando matplotlib.pyplot.hexbin() en Python. Generamos datos aleatorios utilizando numpy.random.standard_normal() y numpy.random.standard_normal(), creamos el diagrama de contenedores hexagonales, agregamos una escala de color logarítmica y mostramos el diagrama utilizando plt.show().