Comment ajouter une ligne verticale à une date spécifique dans Matplotlib
Vous pouvez utiliser la fonction axvline() avec la fonction datetime() pour ajouter une ligne verticale à une date spécifique dans Matplotlib :
import datetime import matplotlib.pyplot as plt plt.axvline(datetime.datetime(2023, 1, 5))
Cet exemple particulier ajoute une ligne verticale au 05/01/2023 sur l’axe des x d’un tracé dans Matplotlib.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : ajouter une ligne verticale à une date spécifique dans Matplotlib
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur le total des ventes réalisées sur huit jours consécutifs dans une entreprise :
import datetime import numpy as np import pandas as pd #create DataFrame df = pd.DataFrame({'date': np.array([datetime.datetime(2020, 1, i+1) for i in range(8)]), 'sales': [3, 4, 4, 7, 8, 9, 14, 17]}) #view DataFrame print(df) date sales 0 2023-01-01 3 1 2023-01-02 4 2 2023-01-03 4 3 2023-01-04 7 4 2023-01-05 8 5 2023-01-06 9 6 2023-01-07 14 7 2023-01-08 17
Nous pouvons utiliser le code suivant pour créer un graphique des ventes par jour et ajouter une ligne verticale à la date du 05/01/2023 sur l’axe des x :
import matplotlib.pyplot as plt #plot sales by date plt.plot_date(df.date, df.sales) #rotate x-axis ticks 45 degrees and right-aline plt.xticks(rotation=45, ha='right') #add vertical line at 1/5/2023 plt.axvline(datetime.datetime(2023, 1, 5))
Notez qu’une ligne verticale a été ajoutée au tracé à la date du 05/01/2023 sur l’axe des x.
Notez également que vous pouvez utiliser les arguments color , linewidth et linestyle pour personnaliser l’apparence de la ligne :
import matplotlib.pyplot as plt #plot sales by date plt.plot_date(df.date, df.sales) #rotate x-axis ticks 45 degrees and right-aline plt.xticks(rotation=45, ha='right') #add customized vertical line at 1/5/2023 plt.axvline(datetime.datetime(2023, 1, 5), color='red', linewidth=3, linestyle='--')
Notez que la ligne verticale est désormais rouge, légèrement plus large que dans l’exemple précédent, et en pointillés.
N’hésitez pas à modifier l’apparence de la ligne verticale pour lui donner l’apparence que vous souhaitez.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :
Comment ajouter une ligne moyenne au tracé dans Matplotlib
Comment ajouter une ligne de tendance dans Matplotlib
Comment dessiner une ligne horizontale dans Matplotlib