Personnalisation des repères de dates avec Matplotlib en utilisant des règles de récurrence

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 à utiliser les règles de récurrence dans Matplotlib pour placer les repères de dates. Le iCalender RFC_ spécifie les règles de récurrence (rrules), qui définissent des séquences de dates. Vous pouvez utiliser les rrules dans Matplotlib pour placer les repères de dates. Cet exemple définit des repères de dates personnalisés pour chaque cinquième Pâques.

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 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ésoudrons rapidement le problème pour vous.

Importez les bibliothèques nécessaires

Tout d'abord, vous devez importer les bibliothèques nécessaires, y compris Matplotlib, NumPy et datetime.

import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import (YEARLY, DateFormatter, RRuleLocator, drange,
                              rrulewrapper)

Fixez la graine aléatoire

Vous allez générer des données aléatoires pour cet exemple, donc vous devez fixer la graine aléatoire pour la reproductibilité.

np.random.seed(19680801)

Définissez la règle de récurrence

Vous allez définir des repères de dates personnalisés pour chaque cinquième Pâques. Pour ce faire, vous devez définir la règle de récurrence à l'aide de la fonction rrulewrapper.

rule = rrulewrapper(YEARLY, byeaster=1, interval=5)

Définissez le localisateur et le formateur de repères

Vous utiliserez la fonction RRuleLocator pour définir le localisateur de repères sur la base de la règle de récurrence que vous avez définie dans l'étape précédente. Vous utiliserez également la fonction DateFormatter pour définir le formateur de repères.

loc = RRuleLocator(rule)
formatter = DateFormatter('%m/%d/%y')

Fixez les dates et générez des données aléatoires

Vous devez fixer les dates de début et de fin et le delta, qui représente la différence entre chaque date. Vous devez également générer des données aléatoires pour l'exemple.

date1 = datetime.date(1952, 1, 1)
date2 = datetime.date(2004, 4, 12)
delta = datetime.timedelta(days=100)

dates = drange(date1, date2, delta)
s = np.random.rand(len(dates))

Tracez les données et définissez les repères de l'axe des x

Enfin, vous pouvez tracer les données à l'aide de la fonction plot, et définir les repères de l'axe des x à l'aide des fonctions de localisateur et de formateur de repères que vous avez définies précédemment.

fig, ax = plt.subplots()
plt.plot(dates, s, 'o')
ax.xaxis.set_major_locator(loc)
ax.xaxis.set_major_formatter(formatter)
ax.xaxis.set_tick_params(rotation=30, labelsize=10)
plt.show()

Sommaire

Dans ce laboratoire, vous avez appris à utiliser des règles de récurrence dans Matplotlib pour placer des repères de dates personnalisés sur un graphique. Vous avez d'abord défini la règle de récurrence à l'aide de la fonction rrulewrapper, puis utilisé les fonctions RRuleLocator et DateFormatter pour définir le localisateur et le formateur de repères. Enfin, vous avez tracé les données et défini les repères de l'axe des x à l'aide des fonctions de localisateur et de formateur de repères.