2017-08-04 201 views
2

我想這是一個非常簡單的問題,但我試圖在Plotly(R)中繪製一個時間序列,並且每次我嘗試繪圖時 - 線會自動假設y軸(即水平面)。Plotly時間序列 - 水平線繪製

從我所瞭解的情況來看,這是一個與我的變量如何輸入代碼有關的問題。但不完全知道如何解決這個問題?

假設這是我的變量做的,我已經印刷低於我的數據集的結構:

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 ... 

我Plotly代碼如下:

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

的結果是:

PLotly time series with horizontal lines

非常感謝提前,道歉的菜鳥問題!

回答

3

您的數據按錯誤順序排序,順序依次遞減。對於時間序列,它需要在日期進行排序。嘗試這樣做:

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

所以你的數據幀的正確排序,然後用繪圖:

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

注意~列名Date.receivedn之前,這是必要的,讓plot_ly知道你是指到數據幀Time的列名稱。


前: Before

後:After

+0

同樣,我能說什麼 - 非常感謝你弗洛裏安! – Pryore