Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider

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

En este laboratorio, aprenderemos a usar Matplotlib para crear subtramas utilizando las clases HBoxDivider y VBoxDivider. Usaremos un ejemplo simple para mostrar cómo se pueden usar estas clases para organizar múltiples subtramas.

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 sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/heatmaps("Heatmaps") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} matplotlib/figures_axes -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/comments -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} matplotlib/heatmaps -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/lists -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/tuples -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/importing_modules -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/numerical_computing -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} python/data_visualization -.-> lab-48663{{"Arreglo de subtramas en Matplotlib usando HBoxDivider y VBoxDivider"}} end

Importar las bibliotecas necesarias

Comenzamos importando las bibliotecas necesarias: matplotlib y numpy.

import matplotlib.pyplot as plt
import numpy as np

Crear datos

Creamos dos matrices de NumPy que se usarán como datos para nuestras subtramas.

arr1 = np.arange(20).reshape((4, 5))
arr2 = np.arange(20).reshape((5, 4))

Crear subtramas usando HBoxDivider

Creamos dos subtramas lado a lado utilizando la clase HBoxDivider. También ajustamos la ubicación de los ejes para que tengan la misma altura mientras mantienen sus proporciones de aspecto.

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.imshow(arr1)
ax2.imshow(arr2)

pad = 0.5  ## pad en pulgadas
divider = HBoxDivider(
    fig, 111,
    horizontal=[Size.AxesX(ax1), Size.Fixed(pad), Size.AxesX(ax2)],
    vertical=[Size.AxesY(ax1), Size.Scaled(1), Size.AxesY(ax2)])
ax1.set_axes_locator(divider.new_locator(0))
ax2.set_axes_locator(divider.new_locator(2))

plt.show()

Crear subtramas usando VBoxDivider

Creamos dos subtramas una debajo de la otra utilizando la clase VBoxDivider. Ajustamos la ubicación de los ejes para que tengan el mismo ancho mientras mantienen sus proporciones de aspecto.

fig, (ax1, ax2) = plt.subplots(2, 1)
ax1.imshow(arr1)
ax2.imshow(arr2)

divider = VBoxDivider(
    fig, 111,
    horizontal=[Size.AxesX(ax1), Size.Scaled(1), Size.AxesX(ax2)],
    vertical=[Size.AxesY(ax1), Size.Fixed(pad), Size.AxesY(ax2)])

ax1.set_axes_locator(divider.new_locator(0))
ax2.set_axes_locator(divider.new_locator(2))

plt.show()

Resumen

En este laboratorio, aprendimos cómo usar las clases HBoxDivider y VBoxDivider en Matplotlib para crear subtramas. Vimos cómo ajustar la ubicación de los ejes para que tengan la misma altura o ancho mientras mantienen sus proporciones de aspecto. Estas clases pueden ser útiles cuando necesitamos organizar múltiples subtramas en una sola figura.