Come aggiungere una linea verticale a una data specifica in matplotlib


Puoi utilizzare la funzione axvline() con la funzione datetime() per aggiungere una linea verticale a una data specifica in Matplotlib:

 import datetime
import matplotlib. pyplot as plt

plt. axvline ( datetime.datetime (2023, 1, 5))

Questo particolare esempio aggiunge una linea verticale al 01/05/2023 sull’asse x di un grafico in Matplotlib.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: aggiungi una linea verticale a una data specifica in Matplotlib

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle vendite totali effettuate in otto giorni consecutivi presso un’azienda:

 import datetime
import numpy as np
import pandas as pd

#createDataFrame
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)

        dirty date
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

Possiamo utilizzare il seguente codice per creare un grafico delle vendite giornaliere e aggiungere una linea verticale alla data 01/05/2023 sull’asse 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))

Matplotlib aggiunge una linea verticale a una data specifica

Tieni presente che una linea verticale è stata aggiunta al grafico in data 01/05/2023 sull’asse x.

Tieni inoltre presente che puoi utilizzare gli argomenti color , linewidth e linestyle per personalizzare l’aspetto della linea:

 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=' -- ') 

Notare che la linea verticale ora è rossa, leggermente più larga rispetto all’esempio precedente e tratteggiata.

Sentiti libero di cambiare l’aspetto della linea verticale per dargli l’aspetto che desideri.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in Matplotlib:

Come aggiungere la linea media alla trama in Matplotlib
Come aggiungere una linea di tendenza in Matplotlib
Come disegnare una linea orizzontale in Matplotlib

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *