2016-05-25 48 views
2

我需要繪製一張面積圖,它包含財務數據,我正在使用這種做法。 問題是,通過簡單地延長線性直到下一個可用的數據輸入,圖形化地具有檢測時間序列格式的特徵,並繪製甚至缺失的日期。 是否可以禁用此功能並僅繪製數據可用的時間序列?如何避免在R中密謀繪製缺失日期

library(plotly) 

    Datetime <- c(
     "2016-01-05 00:00:00", 
     "2016-01-06 00:00:00", 
     "2016-01-07 00:00:00", 
     "2016-01-08 00:00:00", 
     "2016-01-11 00:00:00", 
     "2016-01-12 00:00:00", 
     "2016-01-13 00:00:00", 
     "2016-01-14 00:00:00", 
     "2016-01-15 00:00:00", 
     "2016-01-18 00:00:00", 
     "2016-01-19 00:00:00", 
     "2016-01-20 00:00:00", 
     "2016-01-21 00:00:00", 
     "2016-01-22 00:00:00", 
     "2016-01-25 00:00:00", 
     "2016-01-26 00:00:00", 
     "2016-01-27 00:00:00", 
     "2016-01-28 00:00:00", 
     "2016-01-29 00:00:00", 
     "2016-02-01 00:00:00") 
plotdata <- c(93763,110023,134873,138780,117038,117890,120025,140715,48567,87592, 
       115852,145189,162258,121456,93643,128475,119310,105771,134946,90386) 

volume_data <- data.frame(Datetime, plotdata) 
plot_ly(volume_data, x = Datetime, y = plotdata, type = "bar") 

這是一個基本的示例數據,如果執行此操作,您會注意到圖中有空格。 雖然在執行過程中,我使用的是面積圖,但我已經提供了一個帶有條形圖的示例數據,以便更容易察覺空白區域。 我瞭解到,它可以將x軸數據識別爲時間序列,並自動完成丟失的數據。是否可以禁用此功能並僅繪製數據可用的日期和時間?

+1

你的例子是不可重複的。請分享您使用的代碼和數據。更多信息[這裏](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – epo3

+0

我爲一個簡陋的問題表示歉意。我現在添加了可重現的數據。謝謝 –

+0

作爲解決方法,您可以使用數字/整數代替日期並添加自定義標籤 – MLavoie

回答

1

這是一個替代方案,它會給你你想要的。

p <- plot_ly(
    x = c("Jan 5", "March 5", "April 5"), 
    y = c(20, 14, 23), 
    name = "SF Zoo", 
    type = "bar") 
p %>% layout(xaxis = list(title="Date"), yaxis = list(title="Volume Data")) 

你只需要你的datetime列轉換(如1月5日,3月5日...格式)密謀

enter image description here

0

我發現了一個更簡單的解決問題的方法和思路之前我會將其作爲可能對其他人有用的答案發布。 它可以完美的工作,如果你在這裏添加一個佈局參數

p <- plot_ly(volume_data, x = Datetime, y = plotdata, type = "bar") 
p <- layout(p, xaxis = list(type = "category"))