[PYTHON] matplotlib: insérer un commentaire dans le graphique de l'axe des temps

L'insertion de commentaires dans le graphique de l'axe des temps (ʻaxis.text () , ʻaxis.annotate ()) est spécifiée par le temps sur l'axe cible [^ 1].

[^ 1]: dans l'exemple ci-dessous, l'axe X est l'axe du temps

comment.py


import sys
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import matplotlib.dates as dates
from datetime import datetime as dt
import pandas as pd

fig, ax = plt.subplots()
ax.xaxis_date()
ax.set_xlim([dt(2017,1,1),dt(2017,1,14)])
ax.set_ylim([0,100])
ax.grid(True)
ax.text(dt(2017,1,3,12,0), 53, "Datetime")
ax.text(pd.Timestamp("2017-1-5"), 40, "Pandas")
ax.text(736340, 70, "Number") #1

plt.xticks(rotation=45)
fig.subplots_adjust( bottom=0.15, top=0.95,left=0.1, right=0.95)
plt.savefig("comment.png ")

python


$ python comment.py

Soit datetime ou pd.Timestamp convient.

comment.png

À propos de la valeur numérique utilisée pour l'axe des temps

Matplotlib provides sophisticated date plotting capabilities, standing on the shoulders of python datetime, the add-on modules pytz and dateutil. datetime objects are converted to floating point numbers which represent time in days since 0001-01-01 UTC, plus 1. For example, 0001-01-01, 06:00 is 1.25, not 0.25. The helper functions date2num(), num2date() and drange() are used to facilitate easy conversion to and from datetime and numeric ranges.

Source

C'est vrai.

2016-12-31 00:00:00 (UTC) y compris l'année de l'épée, et calculons approximativement

python


$ perl -le '$a += ($_ % 4 == 0 and $_ % 100 == 0 and $_ % 400 != 0 )? 365 : $_ % 4 == 0 ? 366 : 365 for 1 .. 2016  ; print $a'
736329
$ python -c 'import matplotlib.dates as md ; print(md.num2date(736329))'
2016-12-31 00:00:00+00:00 

Sera. Ainsi, le n ° 1 ci-dessus équivaut à spécifier 2017-01-11 00: 00: 00 + 00.

Pour les heures, les minutes et les secondes, [^ 2] sous la virgule décimale. [^ 2]: S'il était 9:00:05, (9 * 60 * 60 + 5) / (24 * 60 * 60)

Recommended Posts

matplotlib: insérer un commentaire dans le graphique de l'axe des temps
Album graphique matplotlib
Installer matplotlib et afficher le graphique dans Jupyter Notebook
Dessin graphique avec matplotlib
Graphique de bande avec matplotlib
Traitement de fichiers multiples avec Kivy + Matplotlib + Draw Graph sur GUI
Créer un graphique SVG avec matplotlib avec heroku (affiché en japonais)
Un commentaire sur l'algorithme de Boruta
Définir la police matplotlib dans ubuntu
Méthode de dessin graphique avec matplotlib
Graphique des données Excel avec matplotlib (2)
Affichage graphique en temps réel par matplotlib
Afficher les tracés matplotlib sur Tensorboard