Introduction
Matplotlib est une bibliothèque Python qui permet de créer des visualisations statiques, animées et interactives en Python. Elle est largement utilisée dans le calcul scientifique, l'analyse de données, l'apprentissage automatique et bien d'autres domaines. Dans ce laboratoire, vous allez apprendre à tracer des images à l'aide de Matplotlib et à manipuler l'emplacement des axes et des barres de couleur.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter.
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.
Importation des bibliothèques
Dans cette étape, nous allons importer les bibliothèques nécessaires qui seront utilisées dans ce laboratoire. Nous utiliserons matplotlib.pyplot et cbook de matplotlib pour obtenir une image d'échantillonnage.
import matplotlib.pyplot as plt
from matplotlib import cbook
Obtenir une image de démonstration
Dans cette étape, nous allons définir une fonction pour obtenir une image de démonstration et son étendue. Nous utiliserons la fonction get_sample_data() de cbook pour obtenir une image d'échantillonnage.
def get_demo_image():
z = cbook.get_sample_data("axes_grid/bivariate_normal.npy") ## 15x15 array
return z, (-3, 4, -4, 3)
Image simple et barre de couleur
Dans cette étape, nous allons créer une image simple et sa barre de couleur. Nous utiliserons la fonction imshow() de pyplot pour créer l'image et la fonction colorbar() pour créer la barre de couleur.
def demo_simple_image(ax):
Z, extent = get_demo_image()
im = ax.imshow(Z, extent=extent)
cb = plt.colorbar(im)
cb.ax.yaxis.set_tick_params(labelright=False)
Image et barre de couleur avec positionnement au moment du tracé - Une manière difficile
Dans cette étape, nous allons créer une image et sa barre de couleur avec positionnement au moment du tracé de manière difficile. Nous utiliserons SubplotDivider de mpl_toolkits.axes_grid1 pour créer un diviseur pour les axes et la barre de couleur.
def demo_locatable_axes_hard(fig):
from mpl_toolkits.axes_grid1 import Size, SubplotDivider
divider = SubplotDivider(fig, 2, 2, 2, aspect=True)
## axes pour l'image
ax = fig.add_subplot(axes_locator=divider.new_locator(nx=0, ny=0))
## axes pour la barre de couleur
ax_cb = fig.add_subplot(axes_locator=divider.new_locator(nx=2, ny=0))
divider.set_horizontal([
Size.AxesX(ax), ## axes principaux
Size.Fixed(0.05), ## marge, 0,1 pouce
Size.Fixed(0.2), ## barre de couleur, 0,3 pouce
])
divider.set_vertical([Size.AxesY(ax)])
Z, extent = get_demo_image()
im = ax.imshow(Z, extent=extent)
plt.colorbar(im, cax=ax_cb)
ax_cb.yaxis.set_tick_params(labelright=False)
Image et barre de couleur avec positionnement au moment du tracé - Une manière facile
Dans cette étape, nous allons créer une image et sa barre de couleur avec positionnement au moment du tracé d'une manière facile. Nous utiliserons make_axes_locatable de mpl_toolkits.axes_grid1 pour créer un diviseur pour les axes et la barre de couleur.
def demo_locatable_axes_easy(ax):
from mpl_toolkits.axes_grid1 import make_axes_locatable
divider = make_axes_locatable(ax)
ax_cb = divider.append_axes("right", size="5%", pad=0.05)
fig = ax.get_figure()
fig.add_axes(ax_cb)
Z, extent = get_demo_image()
im = ax.imshow(Z, extent=extent)
plt.colorbar(im, cax=ax_cb)
ax_cb.yaxis.tick_right()
ax_cb.yaxis.set_tick_params(labelright=False)
Deux images côte à côte avec une marge fixe
Dans cette étape, nous allons créer deux images côte à côte avec une marge fixe. Nous utiliserons make_axes_locatable de mpl_toolkits.axes_grid1 pour créer un diviseur pour les axes et la barre de couleur.
def demo_images_side_by_side(ax):
from mpl_toolkits.axes_grid1 import make_axes_locatable
divider = make_axes_locatable(ax)
Z, extent = get_demo_image()
ax2 = divider.append_axes("right", size="100%", pad=0.05)
fig1 = ax.get_figure()
fig1.add_axes(ax2)
ax.imshow(Z, extent=extent)
ax2.imshow(Z, extent=extent)
ax2.yaxis.set_tick_params(labelleft=False)
Traçage
Dans cette étape, nous allons créer une figure et ajouter des sous-graphiques pour chaque image que nous souhaitons créer.
def demo():
fig = plt.figure(figsize=(6, 6))
## TRACÉ 1
## image simple et barre de couleur
ax = fig.add_subplot(2, 2, 1)
demo_simple_image(ax)
## TRACÉ 2
## image et barre de couleur avec positionnement au moment du tracé -- une manière difficile
demo_locatable_axes_hard(fig)
## TRACÉ 3
## image et barre de couleur avec positionnement au moment du tracé -- une manière facile
ax = fig.add_subplot(2, 2, 3)
demo_locatable_axes_easy(ax)
## TRACÉ 4
## deux images côte à côte avec une marge fixe.
ax = fig.add_subplot(2, 2, 4)
demo_images_side_by_side(ax)
plt.show()
Sommaire
Dans ce laboratoire, nous avons appris à tracer des images à l'aide de Matplotlib et à manipuler l'emplacement des axes et des barres de couleur. Nous avons étudié différentes façons de créer des images et des barres de couleur et de les positionner dans la figure. Grâce aux connaissances acquises dans ce laboratoire, vous serez en mesure de créer des visualisations plus complexes et de les manipuler pour répondre à vos besoins.