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

Mary-Kate Olsen
Libérer: 2024-10-17 13:51:02
original
887 Les gens l'ont consulté

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>
Copier après la connexion

É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>
Copier après la connexion

É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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!