Comment tracer une série chronologique dans Matplotlib (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour tracer une série temporelle dans Matplotlib :

import matplotlib.pyplot as plt

plt.plot(df.x, df.y)

Cela suppose que la variable x appartient à la classe datetime.datetime() .

Les exemples suivants montrent comment utiliser cette syntaxe pour tracer des données de séries chronologiques en Python.

Exemple 1 : tracer une série chronologique de base dans Matplotlib

Le code suivant montre comment tracer une série chronologique dans Matplotlib qui montre les ventes totales réalisées par une entreprise pendant 12 jours consécutifs :

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’axe des X montre la date et l’axe des Y montre le total des ventes à chaque date.

Exemple 2 : Personnaliser les étiquettes de titre et d’axe

Vous pouvez utiliser le code suivant pour ajouter un titre et des étiquettes d’axe au tracé :

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

Exemple 3 : tracer plusieurs séries temporelles dans Matplotlib

Le code suivant montre comment tracer plusieurs séries temporelles dans un seul tracé dans 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()

#display plot
plt.show() 

Plusieurs séries chronologiques dans Matplotlib

Ressources additionnelles

Matplotlib : Comment créer des boxplots par groupe
Matplotlib : Comment créer des graphiques à barres empilées

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *