2017-08-04 6 views
2

J'imagine que c'est une question très simple, mais j'essaie de tracer une série temporelle dans Plotly (R) et chaque fois que j'essaie de tracer - les lignes supposent automatiquement l'axe y (c'est-à-dire face à l'horizontale). D'après ce que je comprends, c'est un problème lié à la façon dont mes variables sont entrées dans le code. Mais pas tout à fait sûr de savoir comment résoudre ce problème ...Séries chronologiques complètes - lignes tracées horizontalement

supposer que ce soit à voir avec mes variables, je l'ai imprimé la structure de mon jeu de données ci-dessous:

Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 53 obs. of 2 variables: 
$ Date.received: Date, format: "2017-06-29" "2017-06-22" "2017-05-16" "2017-06-23" ... 
$ n   : num 20 17 14 13 12 12 12 11 11 11 ... 

Code Mon Plotly est la suivante:

plot_ly(Time, x = Date.received, y = n, mode = "line") 

Le résultat est:

PLotly time series with horizontal lines

Merci beaucoup d'avance, excuses pour la question recrue!

Répondre

3

Vos données sont dans le mauvais ordre, elles sont triées par valeur décroissante de n. Pour une série chronologique, il doit être trié sur la date. Essayez de faire:

Time = Time[order(Time$Date.received),] 

Ainsi, votre dataframe est correctement triés, puis comploter avec:

plot_ly(Time, x = ~Date.received, y = ~n, mode = "line") 

Notez le ~ avant que les noms de colonnes Date.received et n, qui est nécessaire pour le faire savoir plot_ly vous faites référence aux noms des colonnes de l'heure de la trame de données.


Avant: Before

Après: After

+0

Encore une fois, ce que je peux dire - je vous remercie beaucoup Florian! – Pryore