web-dev-qa-db-fra.com

Comment tracez-vous une ligne verticale sur un tracé de série chronologique dans les pandas?

Comment tracez-vous une ligne verticale (vlines) dans un Pandas tracé de la série? J'utilise Pandas pour tracer des moyennes, etc.) Positions avec une ligne verticale Est-il possible d'utiliser vlines ou quelque chose de similaire pour accomplir ceci? Si oui, quelqu'un pourrait-il donner un exemple? Dans ce cas, l'axe x est date-heure.

68
aetodd
plt.axvline(x_position)

Il prend les options de formatage de tracé standard (linestlye, color, ect)

(doc)

Si vous avez une référence à votre objet axes:

ax.axvline(x, color='k', linestyle='--')
99
tacaswell

Si vous avez un axe temporel et que vous avez Pandas importés en tant que pd, vous pouvez utiliser:

ax.axvline(pd.to_datetime('2015-11-01'), color='r', linestyle='--', lw=2)

Pour plusieurs lignes:

xposition = [pd.to_datetime('2010-01-01'), pd.to_datetime('2015-12-31')]
for xc in xposition:
    ax.axvline(x=xc, color='k', linestyle='-')
32
zbinsd