Skip to content
Tutoriels
Matplotlib
How to Set the Y-Axis Range in Matplotlib

Maîtrise de Matplotlib : Définir précisément la plage de l'axe y

Vous battez-vous pour définir les limites de l'axe y dans Matplotlib ? Êtes-vous frustré par la plage automatique de l'axe y et souhaitez-vous pouvoir le définir selon vos besoins ? Si c'est le cas, vous êtes au bon endroit ! Ce guide complet sur "comment définir la plage de l'axe y dans Matplotlib" vous mettra aux commandes et vous donnera un contrôle total sur l'axe y de votre graphique.

Avant de plonger, comprenons l'importance de définir la plage de l'axe y dans Matplotlib. Il ne s'agit pas seulement d'un aspect visuel - définir correctement la plage de l'axe y est crucial pour l'intégrité de votre représentation des données. Un axe y mal échelonné peut déformer les tendances des données et tromper les spectateurs. Ainsi, savoir comment définir manuellement la plage de l'axe y améliorera non seulement la qualité de vos graphiques, mais également la clarté et la précision de votre présentation des données.

Décodage de Matplotlib : La plage de l'axe y

Pour commencer, clarifions le rôle de l'axe y dans Matplotlib. Dans la plupart des graphiques 2D, l'axe y représente la variable dépendante - la variable qui change en fonction de la variable indépendante tracée sur l'axe x. La plage de l'axe y définit donc les limites inférieure et supérieure de cette variable dépendante sur le graphique.

La manière la plus simple de définir la plage de l'axe y est d'utiliser la fonction ylim() du module pyplot de Matplotlib. Cette fonction vous permet de spécifier les limites inférieure et supérieure de l'axe y en tant qu'arguments. Voici un exemple simple :

import matplotlib.pyplot as plt
 
plt.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16])
plt.ylim(0, 20)
plt.show()

Dans cet exemple, nous avons tracé une simple fonction quadratique et défini la plage de l'axe y de 0 à 20 avec plt.ylim(0, 20).

Plage de l'axe y de Matplotlib : Utilisation des objets Axes pour un meilleur contrôle

Bien que plt.ylim() soit parfait pour les graphiques simples, pour des graphiques plus complexes, vous pourriez avoir besoin d'un contrôle plus précis sur la plage de l'axe y. C'est là que brille l'API orientée objet de Matplotlib.

Au lieu de travailler avec le module pyplot, vous pouvez créer directement un objet Axes et travailler avec cela. Chaque objet Axes est doté d'une multitude de méthodes que vous pouvez utiliser pour personnaliser votre graphique, y compris des méthodes pour définir la plage de l'axe y : set_ylim() et set_ybound().

Voici un exemple de définition de la plage de l'axe y à l'aide d'un objet Axes :

fig, ax = plt.subplots()
 
ax.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16])
ax.set_ylim(0, 20)
plt.show()

Dans cet exemple, nous créons d'abord un objet Figure et un objet Axes avec plt.subplots(). Nous traçons ensuite la fonction quadratique sur l'objet Axes avec ax.plot(). Enfin, nous définissons la plage de l'axe y avec ax.set_ylim(0, 20).

Plage de l'axe y dynamique : Ajuster les limites de l'axe y en temps réel

Parfois, vous souhaiterez ajuster la plage de l'axe y en fonction des données ou d'autres critères. Pour cela, Matplotlib propose des fonctions vous permettant de récupérer la plage de l'axe y actuelle, que vous pouvez ensuite modifier selon vos besoins. Les principales fonctions ici sont get_ylim(), set_ylim(), get_ybound() et set_ybound().

Voici un exemple de définition dynamique de la plage de l'axe y :

fig, ax = plt.subplots()
 
ax.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16])
ymin, ymax = ax.get_ylim()
ax.set_ylim(ymin, ymax*1.1)
plt.show()

Dans cet exemple, nous récupérons d'abord la plage de l'axe y actuelle avec ax.get_ylim(). Nous définissons ensuite une nouvelle plage de l'axe y qui étend le maximum actuel de 10 % avec ax.set_ylim(ymin, ymax*1.1).

Ce sont les principales façons de définir la plage de l'axe y dans Matplotlib. Cependant, la polyvalence de Matplotlib permet de nombreuses autres approches, que nous aborderons dans les sections suivantes.

Faire preuve d'aventure : Au-delà des bases de la plage de l'axe y

Matplotlib offre également des fonctionnalités plus avancées pour définir la plage de l'axe y. Cela peut être particulièrement utile lors de la création de figures à plusieurs panneaux, lorsque vous devez appliquer la même plage d'axe y à plusieurs sous-graphiques, ou lorsque vous souhaitez ajuster dynamiquement la plage d'axe y en fonction des données.

Définir la même plage d'axe y pour plusieurs sous-graphiques

Si vous créez une figure à plusieurs panneaux avec plusieurs sous-graphiques, vous voudrez peut-être utiliser la même plage d'axe y pour tous les sous-graphiques afin d'assurer la cohérence. Vous pouvez le faire facilement en parcourant tous les objets Axes et en définissant la plage d'axe y pour chacun. Voici comment procéder :

fig, axs = plt.subplots(2, 2)
for ax in axs.flat:
    ax.set_ylim(0, 20)
plt.show()

Dans cet exemple, nous créons d'abord une grille de sous-graphiques 2x2 avec plt.subplots(2, 2). Nous parcourons ensuite tous les objets Axes dans le tableau résultant et définissons la plage d'axe y pour chacun avec ax.set_ylim(0, 20).

Ajuster dynamiquement la plage d'axe y en fonction des données

Une autre technique avancée consiste à ajuster la plage d'axe y en fonction des données elles-mêmes. Par exemple, vous voudrez peut-être définir la plage d'axe y de manière à couvrir la valeur minimale et maximale de votre ensemble de données. Voici un exemple de comment faire cela :

data = [0, 1, 4, 9, 16]
fig, ax = plt.subplots()
ax.plot([0, 1, 2, 3, 4], data)
ax.set_ylim(min(data), max(data))
plt.show()

Dans cet exemple, nous définissons d'abord une liste de points de données. Nous créons ensuite un objet Figure et un objet Axes, traçons les données sur l'objet Axes et définissons la plage d'axe y pour qu'elle couvre la valeur minimale et maximale de l'ensemble de données.

Alternative à Matplotlib : Visualisation des données avec PyGWalker

Outre l'utilisation de Matplotlib pour visualiser votre dataframe pandas, voici une alternative, une bibliothèque python Open Source qui peut vous aider à créer des visualisations de données facilement : PyGWalker (opens in a new tab). Veuillez fournir la traduction française pour ce fichier Markdown. Évitez de traduire le code tel que: import BlogHeader from '../../../components/blog-header'; import BeehiivEmbed from '../../../components/BeehiivEmbed'; import JSONldScript from '../../../components/jsonld-script'; Traduisez le contenu de JSONldScript. S'il y a un frontmatter, assurez-vous de traduire le paramètre de langue en fr correspondant. Voici le fichier : PyGWalker pour la visualisation des données (opens in a new tab)

Il n'est plus nécessaire de réaliser des traitements compliqués avec le codage Python. Il suffit d'importer vos données et de faire glisser-déposer des variables pour créer toutes sortes de visualisations de données ! Voici une courte vidéo de démonstration sur le fonctionnement :


Voici comment utiliser PyGWalker dans votre Jupyter Notebook :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Vous pouvez également l'essayer dans Kaggle Notebook/Google Colab :

Exécuter PyGWalker dans Kaggle Notebook (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donnez un ⭐️ à PyGWalker sur GitHub (opens in a new tab)
Exécuter PyGWalker dans Kaggle Notebook (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

PyGWalker est construit grâce au soutien de notre communauté Open Source. N'oubliez pas de consulter PyGWalker GitHub (opens in a new tab) et de nous donner une étoile !

Questions fréquemment posées

1. Quelle est la différence entre ylim() et set_ylim() dans matplotlib ?

ylim() est une fonction du module pyplot de matplotlib que vous pouvez utiliser pour définir la plage de l'axe des y pour le tracé actuel. set_ylim(), en revanche, est une méthode de la classe Axes de l'API orientée objet de matplotlib que vous pouvez utiliser pour définir la plage de l'axe des y pour un objet Axes spécifique.

2. Comment puis-je définir la plage de l'axe des y pour s'ajuster automatiquement en fonction des données ?

Vous pouvez utiliser la méthode autoscale() de la classe Axes pour ajuster automatiquement la plage de l'axe des y en fonction des données. Pour plus de contrôle, vous pouvez utiliser la méthode get_ylim() pour obtenir la plage actuelle de l'axe des y, puis l'ajuster si nécessaire avant de la définir avec set_ylim().

3. Puis-je définir la plage de l'axe des y pour plusieurs sous-graphiques en même temps ?

Oui, vous pouvez définir la plage de l'axe des y pour plusieurs sous-graphiques en même temps en parcourant tous les objets Axes et en définissant la plage de l'axe des y pour chacun d'eux.