Maison >développement back-end >Tutoriel Python >Comment tracer correctement les dates sur l'axe X 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!