Maison >développement back-end >Tutoriel Python >Comment tracer correctement les dates sur l'axe X dans Matplotlib ?

Comment tracer correctement les dates sur l'axe X dans Matplotlib ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-17 13:51:021014parcourir

How to Correctly Plot Dates on the X-Axis in Matplotlib?

Comprendre le tracé de dates dans matplotlib

Tracer des informations par rapport à des dates peut être une tâche courante lorsque l'on travaille avec des données de séries chronologiques. Cependant, la conversion et le traçage des dates peuvent parfois entraîner des erreurs.

Le problème : conversion et traçage des dates

Dans l'exemple fourni, l'utilisateur a rencontré une « ValueError : année est hors de portée" lors de la tentative de tracé des dates sur l'axe des x. Le problème est survenu lors du processus de conversion, en particulier lors de l'utilisation de num2date.

La solution : utiliser la fonction plot

Pour résoudre ce problème, envisagez d'utiliser la fonction plot au lieu de plot_date. Cette méthode prend une liste de dates et les reconnaît automatiquement comme des dates, vous permettant de contourner l'étape de conversion.

Étape 1 : Convertir les dates en objets datetime.date

Convertissez les chaînes de date en instances de datetime.date pour une manipulation plus facile. Par exemple :

<code class="python">import datetime as dt

dates = ['01/02/1991', '01/03/1991', '01/04/1991']
x = [dt.datetime.strptime(d, '%m/%d/%Y').date() for d in dates]</code>

Étape 2 : Configurer l'axe X pour le formatage de la date

Configurer l'axe X pour afficher correctement les dates à l'aide de DateFormatter et DayLocator de matplotlib .dates :

<code class="python">import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())</code>

Étape 3 : Générer le tracé

Enfin, tracez les données en utilisant l'axe des x de configuration et les données de l'axe des y :

<code class="python">plt.plot(x, y)
plt.gcf().autofmt_xdate()</code>

Cette méthode élimine les erreurs de conversion et trace correctement les dates sur l'axe des x, fournissant une représentation claire des données temporelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn