Positionneurs de graduations 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 tutoriel, nous allons apprendre à définir la position des graduations dans un graphique matplotlib en utilisant des positionneurs de graduations. Les positionneurs de graduations aident à rendre les graphiques plus lisibles en définissant la position des graduations sur les axes x et y. Nous allons aborder différents types de positionneurs de graduations et comment les implémenter dans un graphique matplotlib.

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 de notes pour accéder au carnet Jupyter pour la pratique.

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 limitations 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

La première étape consiste à importer les bibliothèques nécessaires. Nous allons utiliser matplotlib.pyplot et matplotlib.ticker.

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import numpy as np

Préparation du graphique

Ensuite, nous allons préparer le graphique en créant une figure et un tableau de sous-graphiques. Nous définirons également une fonction setup qui définit les paramètres communs pour les axes dans l'exemple.

fig, axs = plt.subplots(8, 1, figsize=(8, 6))

def setup(ax, title):
    """Définir les paramètres communs pour les Axes dans l'exemple."""
    ## ne montrer que la ligne inférieure de l'épine
    ax.yaxis.set_major_locator(ticker.NullLocator())
    ax.spines[['left', 'right', 'top']].set_visible(False)

    ax.xaxis.set_ticks_position('bottom')
    ax.tick_params(which='major', width=1.00, length=5)
    ax.tick_params(which='minor', width=0.75, length=2.5)
    ax.set_xlim(0, 5)
    ax.set_ylim(0, 1)
    ax.text(0.0, 0.2, title, transform=ax.transAxes,
            fontsize=14, fontname='Monospace', color='tab:blue')

Définition du positionneur nul

Le positionneur nul est un positionneur qui ne place pas de graduation sur l'axe. Nous pouvons définir le positionneur nul en utilisant ticker.NullLocator().

setup(axs[0], title="NullLocator()")
axs[0].xaxis.set_major_locator(ticker.NullLocator())
axs[0].xaxis.set_minor_locator(ticker.NullLocator())

Définition du positionneur multiple

Le positionneur multiple est un positionneur qui place les graduations à des intervalles réguliers. Nous pouvons définir le positionneur multiple en utilisant ticker.MultipleLocator().

setup(axs[1], title="MultipleLocator(0.5, offset=0.2)")
axs[1].xaxis.set_major_locator(ticker.MultipleLocator(0.5, offset=0.2))
axs[1].xaxis.set_minor_locator(ticker.MultipleLocator(0.1))

Définition du positionneur fixe

Le positionneur fixe est un positionneur qui place les graduations à des emplacements fixes. Nous pouvons définir le positionneur fixe en utilisant ticker.FixedLocator().

setup(axs[2], title="FixedLocator([0, 1, 5])")
axs[2].xaxis.set_major_locator(ticker.FixedLocator([0, 1, 5]))
axs[2].xaxis.set_minor_locator(ticker.FixedLocator(np.linspace(0.2, 0.8, 4)))

Définition du positionneur linéaire

Le positionneur linéaire est un positionneur qui place les graduations à des intervalles réguliers sur une échelle linéaire. Nous pouvons définir le positionneur linéaire en utilisant ticker.LinearLocator().

setup(axs[3], title="LinearLocator(numticks=3)")
axs[3].xaxis.set_major_locator(ticker.LinearLocator(3))
axs[3].xaxis.set_minor_locator(ticker.LinearLocator(31))

Définition du positionneur d'index

Le positionneur d'index est un positionneur qui place les graduations à des intervalles réguliers sur une échelle d'index. Nous pouvons définir le positionneur d'index en utilisant ticker.IndexLocator().

setup(axs[4], title="IndexLocator(base=0.5, offset=0.25)")
axs[4].plot([0]*5, color='white')
axs[4].xaxis.set_major_locator(ticker.IndexLocator(base=0.5, offset=0.25))

Définition du positionneur automatique

Le positionneur automatique est un positionneur qui place automatiquement les graduations à des intervalles réguliers. Nous pouvons définir le positionneur automatique en utilisant ticker.AutoLocator().

setup(axs[5], title="AutoLocator()")
axs[5].xaxis.set_major_locator(ticker.AutoLocator())
axs[5].xaxis.set_minor_locator(ticker.AutoMinorLocator())

Définition du positionneur MaxN

Le positionneur MaxN est un positionneur qui place un nombre maximum de graduations sur l'axe. Nous pouvons définir le positionneur MaxN en utilisant ticker.MaxNLocator().

setup(axs[6], title="MaxNLocator(n=4)")
axs[6].xaxis.set_major_locator(ticker.MaxNLocator(4))
axs[6].xaxis.set_minor_locator(ticker.MaxNLocator(40))

Définition du positionneur logarithmique

Le positionneur logarithmique est un positionneur qui place les graduations à des intervalles réguliers sur une échelle logarithmique. Nous pouvons définir le positionneur logarithmique en utilisant ticker.LogLocator().

setup(axs[7], title="LogLocator(base=10, numticks=15)")
axs[7].set_xlim(10**3, 10**10)
axs[7].set_xscale('log')
axs[7].xaxis.set_major_locator(ticker.LogLocator(base=10, numticks=15))

Affichage du graphique

Enfin, nous pouvons afficher le graphique en utilisant plt.show().

plt.tight_layout()
plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à définir la position des graduations dans un graphique matplotlib en utilisant des positionneurs de graduations. Nous avons abordé différents types de positionneurs de graduations et la manière de les implémenter dans un graphique matplotlib. Cela peut aider à rendre les graphiques plus lisibles et informatifs.