0

我正在尝试使用该dygraph函数绘制时间序列。单个图表表示特定变量在不同日期的过程。由于系列对应于不同的日子,我希望 x 轴与日期无关。它应该只包含时间间隔。

当我生成一个时间序列时:

ts <- seq(as.POSIXct("2017-01-01 00:00:00"),as.POSIXct("2017-01-01 23:30:00"), by = "30 min")

并使用它制作一个情节:

d <- data.frame(
    time = ts,
    profile1 = ...,
    profile2 = ...,
    profile3 = ...
  )
  
  don=xts(x=d[,c("profile1", "profile2", "profile3")], order.by=d$time)

我获得了用于在轴上创建时间序列的日期,这是不可取的:

在此处输入图像描述

我梳理了 SO,寻找一种仅从日期获取时间间隔的方法,但提出的方法无济于事 - 结果被函数的order.by组件拒绝。xts(...)

我尝试了以下方法(ts是上面定义的序列):

  1. strftime(ts, format = "%H:%M:%S")-> 错误:order.by requires an appropriate time-based object

  2. 计时

ts <- chron(times. = ts)
Error in convert.times(times., fmt) : format h:m:s may be incorrect
Additionaly: Warning:
In convert.times(times., fmt) : NAs obtained
  1. 1 & 2 组合:
  ts <- strftime(ts, format = "%H:%M:%S")
  ts <- chron(times. = ts)
Fehler in as.POSIXct.default(order.by) : 
  do not know how to convert 'order.by' to class “POSIXct”

此外,我希望 x 轴的格式设置为尽可能显示 00:00 到 00:00 之间的时间跨度。现在,正如您在图片中看到的那样,它以日期开始,没有任何间隔信息结束,那里只有一个空白。

4

0 回答 0