Maison >développement back-end >Tutoriel Python >Comment puis-je formater un axe datetime dans matplotlib pour afficher uniquement l'année et le mois ?
Dans un scénario où vous avez une série avec un index datetime que vous souhaitez visualiser, vous pouvez rencontrer une situation où le le graphique affiche les horodatages comprenant les heures, les minutes et les secondes malgré votre préférence pour un format plus simple comme « aaaa-mm » ou « mars 2016 ».
Pour résoudre ce problème et obtenir le formatage souhaité, nous pouvons exploiter les fonctionnalités fourni par matplotlib. En particulier, l'axe datetime peut être personnalisé à l'aide de formateurs. Ces formateurs vous permettent de spécifier comment les étiquettes de graduation sur l'axe des x doivent être affichées.
Voici un exemple qui démontre l'utilisation des formateurs :
<code class="python">import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates # Sample data with hourly timestamps N = 30 drange = pd.date_range("2014-01", periods=N, freq="H") np.random.seed(365) values = {'values':np.random.randint(1,20,size=N)} df = pd.DataFrame(values, index=drange) # Create a plot with incorrect formatting fig, ax = plt.subplots() ax.plot(df.index, df.values) ax.set_xticks(df.index) # Use formatters to achieve the desired formatting ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m")) ax.xaxis.set_minor_formatter(mdates.DateFormatter("%Y-%m")) plt.xticks(rotation=90) # Display the updated plot with the desired formatting plt.show()</code>
Dans cet exemple, nous d'abord créez un exemple de DataFrame avec des horodatages horaires. Nous utilisons ensuite le DateFormatter de matplotlib.dates pour spécifier que les étiquettes de graduation sur l'axe des x doivent être au format "%Y-%m", qui représente uniquement l'année et le mois. Enfin, nous appelons xticks pour faire pivoter les étiquettes de graduation pour une meilleure lisibilité.
En mettant en œuvre cette approche, vous pouvez personnaliser efficacement le format de votre axe date-heure, en vous assurant qu'il correspond à vos exigences d'affichage souhaitées.
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!