Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser Matplotlib pour créer des sous-graphiques en utilisant les classes HBoxDivider et VBoxDivider. Nous utiliserons un exemple simple pour montrer comment ces classes peuvent être utilisées pour organiser plusieurs sous-graphiques.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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/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{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} matplotlib/figures_axes -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/comments -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} matplotlib/heatmaps -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/lists -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/tuples -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/importing_modules -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/numerical_computing -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} python/data_visualization -.-> lab-48663{{"Agencement de sous-graphiques Matplotlib à l'aide de HBoxDivider et VBoxDivider"}} end

Importation des bibliothèques requises

Nous commençons par importer les bibliothèques requises - matplotlib et numpy.

import matplotlib.pyplot as plt
import numpy as np

Création des données

Nous créons deux tableaux numpy qui seront utilisés comme données pour nos sous-graphiques.

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

Création de sous-graphiques à l'aide de HBoxDivider

Nous créons deux sous-graphiques côte à côte en utilisant la classe HBoxDivider. Nous ajustons également l'emplacement des axes pour qu'ils aient des hauteurs égales tout en conservant leurs rapports d'aspect.

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

pad = 0.5  ## espacement en pouces
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()

Création de sous-graphiques à l'aide de VBoxDivider

Nous créons deux sous-graphiques l'un en-dessous de l'autre en utilisant la classe VBoxDivider. Nous ajustons l'emplacement des axes pour qu'ils aient des largeurs égales tout en conservant leurs rapports d'aspect.

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()

Sommaire

Dans ce laboratoire, nous avons appris à utiliser les classes HBoxDivider et VBoxDivider dans Matplotlib pour créer des sous-graphiques. Nous avons vu comment ajuster l'emplacement des axes pour qu'ils aient des hauteurs ou des largeurs égales tout en conservant leurs rapports d'aspect. Ces classes peuvent être utiles lorsque nous devons disposer de multiples sous-graphiques dans une seule figure.