Personnaliser les épines de Matplotlib

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, vous allez apprendre à personnaliser les épines dans Matplotlib. Les épines sont les lignes qui relient les marques d'échelle de l'axe et délimitent les limites de la zone de données. Par défaut, Matplotlib affiche des épines sur les quatre côtés du graphique. Cependant, vous pouvez vouloir personnaliser ces épines pour mieux mettre en valeur vos données.

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.

Import Matplotlib et NumPy

Tout d'abord, nous devons importer les bibliothèques Matplotlib et NumPy pour créer notre graphique. Nous utiliserons NumPy pour créer des données d'échantillonnage pour notre graphique.

import matplotlib.pyplot as plt
import numpy as np

Créer des données d'échantillonnage

Ensuite, nous allons créer des données d'échantillonnage pour notre graphique à l'aide de NumPy. Nous allons générer 100 points de données entre 0 et 2π et calculer leurs valeurs sinus correspondantes.

x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)

Créer des sous-graphiques

Nous allons créer trois sous-graphiques pour démontrer différentes personnalisations des épines. Nous utiliserons un agencement contraint pour vous assurer que les étiquettes ne chevauchent pas les axes.

fig, (ax0, ax1, ax2) = plt.subplots(nrows=3, layout='constrained')

Personnaliser les épines pour les quatre côtés

Dans le premier sous-graphique, nous allons afficher des épines sur les quatre côtés du graphique. Nous pouvons accéder aux épines de chaque sous-graphique en utilisant le conteneur ax.spines. Nous pouvons ensuite personnaliser les épines à l'aide de diverses méthodes.

ax0.plot(x, y)
ax0.set_title('Normal Spines')

Personnaliser les épines pour les côtés inférieur et gauche

Dans le second sous-graphique, nous allons afficher des épines uniquement sur les côtés inférieur et gauche du graphique. Nous pouvons cacher les épines sur les côtés droit et supérieur du graphique à l'aide de la méthode set_visible.

ax1.plot(x, y)
ax1.set_title('Bottom-Left Spines')

## Hide the right and top spines
ax1.spines.right.set_visible(False)
ax1.spines.top.set_visible(False)

Personnaliser les épines avec des limites limitées à la plage des données

Dans le troisième sous-graphique, nous allons afficher des épines avec des limites limitées à la plage des données. Nous pouvons limiter l'étendue de chaque épine à la plage des données à l'aide de la méthode set_bounds.

ax2.plot(x, y)
ax2.set_title('Spines with Bounds Limited to Data Range')

## Only draw spines for the data range, not in the margins
ax2.spines.bottom.set_bounds(x.min(), x.max())
ax2.spines.left.set_bounds(y.min(), y.max())
## Hide the right and top spines
ax2.spines.right.set_visible(False)
ax2.spines.top.set_visible(False)

Afficher le graphique

Enfin, nous allons afficher le graphique à l'aide de la méthode show.

plt.show()

Sommaire

Dans ce laboratoire, vous avez appris à personnaliser les épines dans Matplotlib. Plus précisément, vous avez appris comment afficher des épines sur des côtés spécifiques du graphique, comment cacher des épines sur des côtés spécifiques du graphique et comment limiter l'étendue de chaque épine à la plage des données. En personnalisant les épines, vous pouvez créer des graphiques qui mettent mieux en évidence vos données et améliorent leur lisibilité globale.