【问题标题】:R - Using System.time to get current date, and change time to fixed values for timevis timelineR - 使用 System.time 获取当前日期,并将时间更改为 timevis 时间线的固定值
【发布时间】:2020-10-21 02:22:17
【问题描述】:

我正在尝试使用 timevis 包创建交互式单日时间线构建器。进入时间轴的每个项目都会有一个以分钟为单位的“长度”属性。

我将时间线限制在今天上午 8 点到下午 5 点之间。

我希望每个项目在上午 8 点开始,但结束日期必须是

todayAM + length

如果需要,我可以更改长度的存储方式。

关于如何操纵时间的任何想法,以便我可以绘制基本块。 (然后用户将它们拖到时间轴上所需的位置。)

library(timevis)

today <- as.character(Sys.Date())
todayAM <- paste(today,"08:00:00")
todayPM <- paste(today, "17:00:00")

items <- data.frame(
  category = c("Room","IceBreaker","Activity","Break"),
  categoryid=c(1,2,3,4),
  name = c("Big Room","Introductions","Red Rover","Lunch"),
  length = c(480,60,120,90)
)


data <- data.frame(
  id = 1:4,
  start = c(todayAM, todayAM, todayAM, todayAM),
  end = c(todayPM, todayPM, todayPM, todayPM),
  content = items$name,
  group = items$categoryid
)

groups <- data.frame(id= items$categoryid, content = items$category)

timevis(
  data = data,
  groups = groups,
  fit = TRUE,
  options = list(editable = TRUE, multiselect = TRUE, align = "center", stack = TRUE,
                 start = todayAM,
                 end = todayPM
                 )
  
)

【问题讨论】:

    标签: r vis.js-timeline


    【解决方案1】:

    你可以这样做:

    library(dplyr)
    library(lubridate)
    starthour <- 8
    data <- items %>% mutate(start = as.POSIXct(Sys.Date()) + hours(starthour) + minutes(lag(cumsum(items$length),1,default=0)),
                             end   = as.POSIXct(Sys.Date()) + hours(starthour) + minutes(cumsum(items$length)),
                             content = name)
    
    timevis::timevis(
      data = data,
      fit = TRUE,
      options = list(editable = TRUE, multiselect = TRUE, align = "center", stack = TRUE)
    )
    

    然后,您必须根据需要设置时区选项:as.POSIXct 创建 UTC 日期。

    【讨论】:

    • 谢谢!我真的很喜欢时代的累积来创造交错的布局。不幸的是,由于某些事件需要重叠,我不得不将其删除。 (主要是房间组,它将运行一整天,并导致所有内容都在这段时间内发生变化。)
    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多