Come tracciare una serie temporale in matplotlib (con esempi)
È possibile utilizzare la seguente sintassi per tracciare una serie temporale in Matplotlib:
import matplotlib. pyplot as plt plt. plot (df. x , df. y )
Ciò presuppone che la variabile x appartenga alla classe datetime.datetime() .
Gli esempi seguenti mostrano come utilizzare questa sintassi per tracciare dati di serie temporali in Python.
Esempio 1: tracciare una serie temporale di base in Matplotlib
Il codice seguente mostra come tracciare una serie temporale in Matplotlib che mostri le vendite totali effettuate da un’azienda per 12 giorni consecutivi:
import matplotlib. pyplot as plt import datetime import numpy as np import pandas as pd #define data df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1) for i in range(12)]), ' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]}) #plot time series plt. plot (df. date , df. sales , linewidth= 3 )
L’asse X mostra la data e l’asse Y mostra le vendite totali in ciascuna data.
Esempio 2: personalizzare le etichette del titolo e degli assi
È possibile utilizzare il codice seguente per aggiungere un titolo e le etichette degli assi alla trama:
import matplotlib. pyplot as plt import datetime import numpy as np import pandas as pd #define data df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1) for i in range(12)]), ' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]}) #plot time series plt. plot (df. date , df. sales , linewidth= 3 ) #add title and axis labels plt. title (' Sales by Date ') plt. xlabel (' Date ') plt. ylabel (' Sales ')
Esempio 3: traccia più serie temporali in Matplotlib
Il codice seguente mostra come tracciare più serie temporali in un unico grafico in Matplotlib:
import matplotlib. pyplot as plt
import datetime
import numpy as np
import pandas as pd
#define data
df = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1)
for i in range(12)]),
' sales ': [3, 4, 4, 7, 8, 9, 14, 17, 12, 8, 8, 13]})
df2 = pd. DataFrame ({' date ': np. array ([datetime. datetime (2020, 1, i+1)
for i in range(12)]),
' returns ': [1, 1, 2, 3, 3, 3, 4, 3, 2, 3, 4, 7]})
#plot both time series
plt. plot ( df.date , df.sales , label=' sales ', linewidth= 3 )
plt. plot ( df2.date , df2.returns , color=' red ', label=' returns ', linewidth= 3 )
#add title and axis labels
plt. title (' Sales by Date ')
plt. xlabel (' Date ')
plt. ylabel (' Sales ')
#add legend
plt. legend ()
#displayplot
plt. show ()
Risorse addizionali
Matplotlib: come creare boxplot per gruppo
Matplotlib: come creare grafici a barre in pila