Maison  >  Article  >  développement back-end  >  Comment formater l'axe date-heure d'un graphique Matplotlib pour afficher uniquement l'année et le mois ?

Comment formater l'axe date-heure d'un graphique Matplotlib pour afficher uniquement l'année et le mois ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 00:26:31176parcourir

How to Format the Datetime Axis of a Matplotlib Graph to Display Year and Month Only?

Modification du format de l'axe date-heure sur un graphique Matplotlib

Lors du traçage d'une série chronologique avec un index date-heure, il est souvent souhaitable de formater le Étiquettes de l’axe X pour afficher un niveau de détail spécifique, tel que des combinaisons année-mois. Ceci peut être réalisé en utilisant la classe DateFormatter du module matplotlib.dates.

Problème :

Un utilisateur souhaite tracer une série indexée par datetime, mais le graphique affiche les valeurs de temps à la seconde près, ce qui entraîne des étiquettes encombrées. Le format souhaité est d'afficher uniquement l'année et le mois (par exemple, "2014-01" ou "2016 Mars").

Solution :

Pour obtenir le formatage souhaité , suivez ces étapes :

  1. Importez les modules nécessaires : numpy (np), pandas (pd), matplotlib.pyplot (plt) et matplotlib.dates (mdates).
  2. Créez un exemple de DataFrame avec un index datetime et des valeurs aléatoires.
  3. Créez une figure et des axes à l'aide de plt.subplots().
  4. Tracez la série en appelant ax.plot(df.index, df .values).
  5. Spécifiez les ticks de l'axe X à l'aide de ax.set_xticks(df.index).
  6. Utilisez DateFormatter pour spécifier les formateurs de ticks majeurs et mineurs. Dans cet exemple, mdates.DateFormatter("%Y-%m") est utilisé pour afficher les dates au format "YYYY-MM".
  7. Faites pivoter les étiquettes de graduation de l'axe X (facultatif) en utilisant _ = plt .xticks(rotation=90) .

Le graphique résultant affichera les données de la série avec le formatage de l'axe date-heure souhaité, affichant uniquement les valeurs de l'année et du mois.

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