Axes insertados de barra de color en Matplotlib

Beginner

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

Introducción

Este tutorial te mostrará cómo controlar la posición, la altura y el ancho de las barras de color utilizando mpl_toolkits.axes_grid1.inset_locator.inset_axes. Esto es útil cuando quieres agregar una barra de color a tu gráfico pero quieres personalizar su tamaño y posición.

Consejos sobre la VM

Una vez que se haya completado la inicialización de 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 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 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.

Importar las bibliotecas necesarias

Primero, necesitamos importar las bibliotecas necesarias: matplotlib e inset_axes de mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes

Crear un gráfico e imagen

A continuación, crearemos un gráfico e una imagen para mostrar cómo agregar una barra de color utilizando ejes insertados.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=[6, 3])

im1 = ax1.imshow([[1, 2], [2, 3]])
im2 = ax2.imshow([[1, 2], [2, 3]])

Agregar barra de color utilizando ejes insertados

Ahora, agregaremos una barra de color a cada una de las imágenes utilizando inset_axes. La primera barra de color se agregará a ax1 y la segunda a ax2.

## add colorbar to ax1
axins1 = inset_axes(
    ax1,
    width="50%",  ## width: 50% of parent_bbox width
    height="5%",  ## height: 5%
    loc="upper right",
)
axins1.xaxis.set_ticks_position("bottom")
fig.colorbar(im1, cax=axins1, orientation="horizontal", ticks=[1, 2, 3])

## add colorbar to ax2
axins2 = inset_axes(
    ax2,
    width="5%",  ## width: 5% of parent_bbox width
    height="50%",  ## height: 50%
    loc="lower left",
    bbox_to_anchor=(1.05, 0., 1, 1),
    bbox_transform=ax2.transAxes,
    borderpad=0,
)
fig.colorbar(im2, cax=axins2, ticks=[1, 2, 3])

Mostrar el gráfico

Finalmente, mostraremos el gráfico utilizando plt.show().

plt.show()

Resumen

En este tutorial, aprendimos cómo utilizar mpl_toolkits.axes_grid1.inset_locator.inset_axes para agregar una barra de color a un gráfico con un tamaño y posición personalizados. La función inset_axes nos permite controlar la posición, la altura y el ancho de la barra de color, lo que facilita la creación de gráficos con un aspecto profesional.