是的,你的代碼應該已經工作了。我認爲sjakw是正確的,因爲你有其他一些代碼會產生問題。嘗試打開一個新腳本,並粘貼下面的代碼。你應該得到一個單一的Y軸的情節。
library(data.table)
library(plotly)
st_data <- fread('Date , Close, Bollinger
1/30/2015 9:34, 65.55, NA
1/30/2015 9:34, 65.43, NA
1/30/2015 9:35, 65.52, NA
1/30/2015 9:35, 65.37, NA
1/30/2015 9:36, 65.68, 65.184
1/30/2015 9:36, 65.4 , 65.303
1/30/2015 9:36, 65.51, 65.4155
1/30/2015 9:36, 65.8 , 65.499
1/30/2015 9:36, 65.6 , 65.548 ')
p1 <- plot_ly(data = st_data, x = ~Date) %>% add_lines(y = ~Close,name = "Close") %>%
add_lines(y=~Bollinger,name="Bollinger")
p1
我更喜歡以下方法。
p2 <- plot_ly()
p2 <- add_lines(p, data = st_data, x = ~Date, y = ~Close, name = "Close")
p2 <- add_lines(p, data = st_data, x = ~Date, y = ~Bollinger, name = "Bollinger")
p2
您的數據是「寬」格式。您可以使用類似的代碼到R Plotly Book如果你融化你的數據變成「長」格式:
st_data_long <- melt.data.table(st_data, id = "Date", measure.vars = c("Close", "Bollinger"),
value.factor = TRUE, variable.name = "PriceType", value.name = "Price")
p3 <- plot_ly(st_data_long, x = ~Date, y = ~Price) %>%
add_lines(color = ~PriceType)
p3
我也有一個樣本數據集試過列入R:
# First make Date one column
airquality <- data.table(airquality)
airquality[, Date := do.call(paste, .SD), .SDcols = c("Month", "Day")]
p4 <- plot_ly()
p4 <- add_lines(p1, data = airquality, x = ~Date, y = ~Ozone, name = "Ozone")
p4 <- add_lines(p1, data = airquality, x = ~Date, y = ~Temp, name = "Temp")
p4
你可以添加一些你的輸入數據? –
請提供一個例子的數據。但這可能是因爲你的變量是因素。只需將它們作爲數字向量投入使用即可。 – sjakw
@MaximilianPeters感謝您提出完成問題需要什麼 –