Skip to content

Comment créer un graphique de séries temporelles avec Matplotlib en Python

Updated on

Dans ce tutoriel, vous apprendrez comment créer un graphique de séries temporelles avec Matplotlib en Python. Que vous visualisiez des prix d'actions, du trafic web ou toute autre donnée dépendante du temps, Matplotlib est un outil puissant pour la visualisation et l'analyse des données. Nous vous montrerons comment personnaliser les marqueurs et les étiquettes d'axe, travailler avec des dates sur l'axe horizontal et ajouter des marqueurs auxiliaires pour une vue plus détaillée de vos données.

Vous souhaitez créer rapidement des visualisations de données en Python ?

PyGWalker est un projet Python Open Source qui peut vous aider à accélérer le flux de travail d'analyse et de visualisation des données directement dans les environnements basés sur les notebooks Jupyter.

PyGWalker (opens in a new tab) transforme votre dataframe Pandas (ou Polars Dataframe) en une interface utilisateur visuelle où vous pouvez faire glisser et déposer des variables pour créer des graphiques facilement. Utilisez simplement le code suivant :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Vous pouvez exécuter PyGWalker dès maintenant avec ces notebooks en ligne :

Et n'oubliez pas de nous donner une ⭐️ sur GitHub !

Exécuter PyGWalker dans le notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donner une ⭐️ à PyGWalker sur GitHub (opens in a new tab)
Exécuter PyGWalker dans le notebook Kaggle (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

Qu'est-ce que Matplotlib et à quoi sert-il ?

Matplotlib est une bibliothèque de visualisation de données pour Python. Il offre une large gamme d'outils pour créer des visualisations statiques, animées et interactives en Python. Matplotlib est largement utilisé dans le monde universitaire, l'industrie et le gouvernement pour créer des graphiques, des diagrammes et des graphiques.

Comment puis-je personnaliser les marqueurs et les étiquettes d'axe sur un graphique de séries temporelles avec Matplotlib ?

Vous pouvez personnaliser les marqueurs et les étiquettes d'axe sur un graphique de séries temporelles avec Matplotlib en utilisant les méthodes set_xticks() et set_xticklabels(). Ces méthodes vous permettent de spécifier l'emplacement et le format des marqueurs et des étiquettes d'axe sur l'axe horizontal.

import matplotlib.pyplot as plt
import pandas as pd
 
# Charger les données
data = pd.read_csv("data.csv")
 
# Convertir la colonne de dates en format datetime
data["date"] = pd.to_datetime(data["date"])
 
# Créer le graphique
fig, ax = plt.subplots()
 
# Définir les emplacements et les étiquettes des marqueurs d'axe
ax.set_xticks(data["date"])
ax.set_xticklabels(data["date"].dt.strftime("%Y-%m"))
 
# Tracer les données
ax.plot(data["date"], data["value"])
 
# Afficher le graphique
plt.show()

Dans cet exemple, nous chargeons d'abord les données à l'aide de la bibliothèque Pandas et convertissons la colonne de dates au format datetime. Ensuite, nous créons l'objet graphique en utilisant Matplotlib et nous définissons les emplacements et les étiquettes des marqueurs d'axe à l'aide des méthodes set_xticks() et set_xticklabels(). Enfin, nous traçons les données et affichons le graphique à l'aide de la méthode show().

Comment puis-je travailler avec des dates sur l'axe horizontal dans Matplotlib ?

Vous pouvez travailler avec des dates sur l'axe horizontal dans Matplotlib en utilisant la fonction date2num() du module matplotlib.dates. Cette fonction convertit un objet de date en un nombre flottant, qui peut être utilisé pour tracer des dates sur l'axe horizontal.

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
 
# Charger les données
data = pd.read_csv("data.csv")
 
# Convertir la colonne de dates en format datetime et date2num
data["date"] = pd.to_datetime(data["date"]).apply(mdates.date2num)
 
# Créer le graphique
fig, ax = plt.subplots()
 
# Tracer les données
ax.plot_date(data["date"], data["value"], linestyle="solid")
 
# Afficher le graphique
plt.show()

Dans cet exemple, nous chargeons d'abord les données à l'aide de la bibliothèque Pandas et convertissons la colonne de dates au format datetime. Ensuite, nous utilisons la fonction date2num() pour convertir la colonne de dates en un format pouvant être tracé par Matplotlib. Enfin, nous traçons les données à l'aide de la méthode plot_date() et affichons le graphique à l'aide de la méthode show().

Qu'est-ce qu'un MonthLocator et comment l'utiliser dans Matplotlib ?

Un MonthLocator est une classe de Matplotlib utilisée pour spécifier les emplacements des marqueurs d'axe sur l'axe horizontal pour un graphique de séries temporelles. La classe MonthLocator peut être utilisée pour générer des emplacements de marqueurs à des intervalles réguliers de mois.

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
 
# Charger les données
data = pd.read_csv("data.csv")
 
# Convertir la colonne de dates en format datetime et date2num
data["date"] = pd.to_datetime(data["date"]).apply(mdates.date2num)
 
# Créer le graphique
fig, ax = plt.subplots()
 
# Définir le localisateur de marqueurs
ax.xaxis.set_major_locator(mdates.MonthLocator())
 
# Définir le formateur de marqueurs
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
 
# Tracer les données
ax.plot_date(data["date"], data["value"], linestyle="solid")
 
# Afficher le graphique
plt.show()

Dans cet exemple, nous chargeons d'abord les données à l'aide de la bibliothèque Pandas, convertissons la colonne de date au format datetime, puis la convertissons au format pouvant être tracé par Matplotlib. Ensuite, nous créons l'objet de tracé et définissons le localisateur de ticks à l'aide de la méthode set_major_locator() pour générer des emplacements de ticks à des intervalles réguliers de mois. Enfin, nous traçons les données et affichons le graphique à l'aide de la méthode show().

Comment puis-je ajouter des marques de ticks secondaires à un graphique de séries temporelles avec Matplotlib?

Vous pouvez ajouter des marques de ticks secondaires à un graphique de séries temporelles avec Matplotlib en utilisant la méthode set_minor_locator() de l'objet xaxis. Cette méthode vous permet de spécifier l'emplacement des marques de ticks secondaires sur l'axe horizontal.

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
 
# Charger les données
data = pd.read_csv("data.csv")
 
# Convertir la colonne de date au format datetime et date2num
data["date"] = pd.to_datetime(data["date"]).apply(mdates.date2num)
 
# Créer le graphique
fig, ax = plt.subplots()
 
# Définir le localisateur de ticks
ax.xaxis.set_major_locator(mdates.MonthLocator())
 
# Définir le formateur de ticks
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
 
# Définir le localisateur de ticks secondaires
ax.xaxis.set_minor_locator(mdates.MonthLocator(bymonthday=15))
 
# Tracer les données
ax.plot_date(data["date"], data["value"], linestyle="solid")
 
# Afficher le graphique
plt.show()

Dans cet exemple, nous chargeons d'abord les données à l'aide de la bibliothèque Pandas et convertissons la colonne de date au format datetime. Ensuite, nous créons l'objet de tracé et définissons le localisateur et le formateur de ticks comme nous l'avons fait précédemment. Enfin, nous définissons le localisateur de ticks secondaires à l'aide de la méthode set_minor_locator() pour générer des emplacements de ticks tous les 15 jours de chaque mois. Nous traçons les données et affichons le graphique à l'aide de la méthode show().

Conclusion

Matplotlib est un outil puissant pour créer des graphiques de séries temporelles en Python. Avec sa large gamme d'options de personnalisation, vous pouvez créer de belles visualisations informatives de vos données dépendantes du temps. Que vous débutiez dans la visualisation des données ou que vous soyez un analyste de données expérimenté, Matplotlib est un ajout précieux à votre boîte à outils.

Autres Tutoriels Python: