带有日期时间的R中的图形颜色会影响x轴限制

时间:2017-11-28 21:19:31

标签: r shiny plotly

在R中使用带有日期时间和color arg的情节,似乎有一个奇怪的地方,x轴默认值无法正常工作。它的范围可以追溯到1970年。

library(plotly)

start <- as.POSIXct("2012-01-15")
interval <- 60

end <- start + as.difftime(1, units="days")

mydate <- seq(from=start, by=interval*60, to=end)

mydf <- data.frame(date=mydate, y=rnorm(1:length(mydate)))

p <- plot_ly(data=mydf, x=~date, y=~y, color=~y)
p

enter image description here

  

有没有办法解决这个问题或者轻松硬编码范围?

我尝试过使用layout / xaxis arg但没有成功。

plot_ly(data=mydf, x=~date, y=~y, color=~y) %>%
  layout(
    xaxis = list(range = c(1326603600, 1326690000)),
    yaxis = list(range = c(-10, 10)))

1 个答案:

答案 0 :(得分:1)

library(plotly)
start <- as.POSIXct("2012-01-15")
interval <- 60
end <- start + as.difftime(1, units="days")
mydate <- seq(from=start, by=interval*60, to=end)
mydf <- data.frame(date=mydate, y=rnorm(1:length(mydate)))

p <- plot_ly(data=mydf, x=~date, y=~y, color=~y, 
             mode="markers", type="scatter", marker=list(size=15)) %>%
add_trace(data=mydf, x=~date, y=~y, mode="lines", line=list(color="navy"))

# Important: set x-axis type as "category" !
p %>% layout(xaxis=list(type="category", range=list(-.5,(length(mydate)-.5))), 
             margin=list(b=100))

enter image description here