Matplotlib: Grillas de Imágenes con Barras de Color

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica consiste en crear rejillas de imágenes con barras de color utilizando Matplotlib. El código de ejemplo proporcionado muestra cómo utilizar una barra de color común para cada fila o columna de una rejilla de imágenes.

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.

En ocasiones, 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 resolveremos el problema inmediatamente para usted.

Importar bibliotecas

En primer lugar, necesitamos importar las bibliotecas necesarias para crear la rejilla de imágenes con barras de color.

import matplotlib.pyplot as plt
from matplotlib import cbook
from mpl_toolkits.axes_grid1 import AxesGrid

Definir datos de imagen

Definimos una función que devuelve datos de imagen de muestra y su extensión.

def get_demo_image():
    z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")  ## 15x15 array
    return z, (-3, 4, -4, 3)

Crear una cuadrícula con barra de color en la parte inferior

Creamos una cuadrícula de imágenes de 2x2 con una barra de color para cada columna.

def demo_bottom_cbar(fig):
    grid = AxesGrid(fig, 121,  ## similar to subplot(121)
                    nrows_ncols=(2, 2),
                    axes_pad=0.10,
                    share_all=True,
                    label_mode="1",
                    cbar_location="bottom",
                    cbar_mode="edge",
                    cbar_pad=0.25,
                    cbar_size="15%",
                    direction="column"
                    )

    Z, extent = get_demo_image()
    cmaps = ["autumn", "summer"]
    for i in range(4):
        im = grid[i].imshow(Z, extent=extent, cmap=cmaps[i//2])
        if i % 2:
            grid.cbar_axes[i//2].colorbar(im)

    for cax in grid.cbar_axes:
        cax.axis[cax.orientation].set_label("Bar")

    ## This affects all axes as share_all = True.
    grid.axes_llc.set_xticks([-2, 0, 2])
    grid.axes_llc.set_yticks([-2, 0, 2])

Crear una cuadrícula con barra de color en la derecha

Creamos una cuadrícula de imágenes de 2x2 con una barra de color para cada fila.

def demo_right_cbar(fig):
    grid = AxesGrid(fig, 122,  ## similar to subplot(122)
                    nrows_ncols=(2, 2),
                    axes_pad=0.10,
                    label_mode="1",
                    share_all=True,
                    cbar_location="right",
                    cbar_mode="edge",
                    cbar_size="7%",
                    cbar_pad="2%",
                    )
    Z, extent = get_demo_image()
    cmaps = ["spring", "winter"]
    for i in range(4):
        im = grid[i].imshow(Z, extent=extent, cmap=cmaps[i//2])
        if i % 2:
            grid.cbar_axes[i//2].colorbar(im)

    for cax in grid.cbar_axes:
        cax.axis[cax.orientation].set_label('Foo')

    ## This affects all axes because we set share_all = True.
    grid.axes_llc.set_xticks([-2, 0, 2])
    grid.axes_llc.set_yticks([-2, 0, 2])

Crear la figura y llamar a las funciones

Finalmente, creamos la figura y llamamos a las funciones para crear las rejillas de imágenes con barras de color.

fig = plt.figure()

demo_bottom_cbar(fig)
demo_right_cbar(fig)

plt.show()

Resumen

Matplotlib ofrece una forma sencilla de crear rejillas de imágenes con barras de color utilizando la herramienta AxesGrid. Esta práctica demostró cómo crear una rejilla de imágenes de 2x2 con una barra de color para cada columna y una rejilla de imágenes de 2x2 con una barra de color para cada fila. Siguiendo estos pasos, puedes crear rejillas de imágenes con barras de color para tus propios conjuntos de datos.