Plot DataFrame with TimedeltaIndex (x-axis)
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 16 h 26 min
- PR mergées (30 j)
- 21
Description
Hello,
Plotly.py doesn't display x axis well when using a TimedeltaIndex
import pandas as pd
from pandas.compat import StringIO
import plotly
from plotly.graph_objs import Scatter, Layout
dat = """millis;ax;ay;az
544;-5.65;-0.39;7.45
550;-4.79;-0.59;7.26
556;-4.79;-1.33;6.79
562;-0.63;-1.33;9.53
579;-4.63;0.16;7.96
599;-5.45;0.35;7.34
618;-5.18;1.88;3.77
637;-6.12;-2.00;9.92
658;-3.80;0.51;9.02
677;-4.35;0.04;9.53
697;-3.88;0.71;8.79
717;-4.86;-0.43;8.83
741;-4.16;-1.06;8.79
756;-3.57;0.31;7.92
777;-2.71;2.79;8.32
796;-2.43;5.53;10.55
816;-2.75;3.30;8.67
835;-2.12;2.47;7.85
856;-2.04;2.63;7.85
875;-2.31;2.31;8.04
894;-2.00;3.37;8.12
922;0.86;7.69;9.65
942;-1.45;5.26;8.75
961;-1.96;4.35;8.04
985;-1.80;3.77;8.36
1001;-1.61;3.10;8.55"""
df = pd.read_csv(StringIO(dat), sep=';')
df['millis'] = pd.to_timedelta(df['millis'], unit='ms')
df = df.set_index('millis')
df.index = df.index + pd.Timestamp("1970/01/01")
print(df)
print(df.dtypes)
print(df.index)
plotly.offline.plot({
"data": [
Scatter(x=df.index, y=df['ax'])
],
"layout": Layout(
title="DataFrame with %s" % str(type(df.index))
)
})
When using TimedeltaIndex I get

x-axis have odd values starting with P0D 0H0M0.
but when using a DatetimeIndex I get

It will be great if Plotly.py could handle TimedeltaIndex without hassle.
Kind regards
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la reproduction fournie de pandas TimedeltaIndex et suivez la conversion des valeurs d’index en données de l’axe x par Plotly.py. Confirmez le comportement avec la sortie DatetimeIndex présentée ; le travail est terminé lorsqu’un TimedeltaIndex rend des valeurs lisibles sur l’axe x sans exiger que l’appelant le convertisse manuellement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- pandas, plotly, python
- Domaine
- data-visualization
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100