les pandas .plot() de l'axe des x tique fréquence — comment puis-je afficher plus de tiques?
Je suis traçage de séries chronologiques à l'aide de pandas .plot() et que vous souhaitez voir tous les mois comme un x-tique.
Voici le jeu de données de la structure
Ici est le résultat de la .plot()
J'ai essayé d'utiliser des exemples provenant d'autres postes et matplotlib la documentation et faire quelque chose comme
ax.xaxis.set_major_locator(
dates.MonthLocator(revenue_pivot.index, bymonthday=1,interval=1))
Mais qui a supprimé toutes les tiques 🙁
J'ai aussi essayé de passer xticks = df.index
, mais il n'a pas changé quoi que ce soit.
Ce serait la droite de façon à montrer plus de tiques sur l'axe des x?
- Êtes-vous l'analyse de l'dates que datetimes?
- merci. on dirait que c'est au moins une partie du problème. maintenant, après l'utilisation de la hache.xaxis.set_major_locator, je ne vois tiques... Le seul problème est que maintenant, je ne vois qu'une seule tique par an. J'ai clairement à l'aide de MonthLocator mal.
Vous devez vous connecter pour publier un commentaire.
Pas besoin de passer des arguments pour
MonthLocator
. Assurez-vous d'utiliserx_compat
dans ledf.plot()
appel par @Rotkiv de réponse.Vous pouvez également le format de l'axe des abscisses, les tiques et les étiquettes d'un pandas
DateTimeIndex
"à la main" en utilisant les attributs d'une pandasTimestamp
objet.Je l'ai trouvé beaucoup plus facile que d'utiliser des localisateurs de
matplotlib.dates
qui travaillent sur d'autres formats dateheure que les pandas (si je ne me trompe pas) et donc montrent parfois un comportement étrange si les dates ne sont pas convertis en conséquence.Voici un exemple générique qui montre le premier jour de chaque mois, c'est un label basé sur les attributs de pandas
Timestamp
objets:rendements:
Espérons que cette aide!
La bonne manière de faire qui décrit ici
À l'aide de la x_compat paramètre, il est possible de supprimer automatique tique de réglage de la résolution
df.A.plot(x_compat=True)
Si vous voulez juste montrer plus de tiques, vous pouvez également faire de la plongée en profondeur dans la structure de pd.le tracé des courbes._converter:
Après le traçage, le
formatter
est unTimeSeries_DateFormatter
et_set_default_format
a été appelé, doncself.plot_obj.date_axis_info is not None
. Vous pouvez maintenant manipuler de la structuration de la matrice de.date_axis_info
être à votre goût, à savoir contiennent moins deb''
et plusb'%b'