Css 在闪亮的应用程序中使用彩色timevis时间线

Css 在闪亮的应用程序中使用彩色timevis时间线,css,r,shiny,Css,R,Shiny,我正在使用“timevis”软件包在我的RShiny dashboard应用程序中创建时间线。我想设想一下检查机器维护的计划期限。在时间轴中,执行的检查和计划的检查都可见。为了可视化这些不同的检查,我想给它不同的颜色(绿色表示已执行,红色表示已计划)。我在测试环境中成功地做到了这一点,但当我在仪表板中复制代码时,颜色不可见(所有块都是标准蓝色) 这是我的代码: 测试: 服务器.R: output$timeline_aalst <- renderTimevis({ grou

我正在使用“timevis”软件包在我的RShiny dashboard应用程序中创建时间线。我想设想一下检查机器维护的计划期限。在时间轴中,执行的检查和计划的检查都可见。为了可视化这些不同的检查,我想给它不同的颜色(绿色表示已执行,红色表示已计划)。我在测试环境中成功地做到了这一点,但当我在仪表板中复制代码时,颜色不可见(所有块都是标准蓝色)

这是我的代码: 测试:

服务器.R:

output$timeline_aalst <- renderTimevis({
    
    groups <- data.frame(id = c("Klep", "Reinigen", "Zeeppomp"), content = c("Klep", "Reinigen", "Zeeppomp"))
    timevis(data = timevisData, groups = groups, showZoom = TRUE, options = list(editable = TRUE)) %>%
      setWindow(Sys.Date() %m-% months(1), Sys.Date() %m+% months(1))
  })

output$timeline\u aalst如注释中所述,提供示例数据(作为最小工作示例的一部分)非常有用

在这里,我尝试重新创建一个您可以使用的示例。您可能希望利用
className
来提供具有单个CSS样式的项。根据您对红色和绿色的描述,我在您的
ui
中添加了
tags$style

library(shiny)
library(timevis)
library(lubridate)

timevisData <- data.frame (
  id          = 1:3,
  content     = c("Klep", "Reinigen", "Zeeppomp"),
  group       = c("Klep", "Reinigen", "Zeeppomp"),
  start       = c("2020-12-10", "2020-12-16", "2020-12-30"),
  end         = NA,
  className   = c("green_style", "green_style", "red_style")
)

groups <- data.frame(
  id = c("Klep", "Reinigen", "Zeeppomp"), 
  content = c("Klep", "Reinigen", "Zeeppomp")
)

ui <- fluidPage(
  title = "Testing with className",
  h3("Overzicht uitgevoerde en voorgestelde onderhoudsbeurten"),
  tags$head(
    tags$style(HTML(".red_style   { border-color: red; color: white; background-color: red; }
                     .green_style { border-color: green; color: white; background-color: green; }
                    "))
    ),
  timevisOutput("timeline_aalst")
)

server <- function (input, output, session) {
  output$timeline_aalst <- renderTimevis ({
    timevis (data = timevisData, groups = groups, showZoom = TRUE, options = list(editable = TRUE)) %>%
      setWindow(Sys.Date() %m-% months(1), Sys.Date() %m+% months(1))
  })
}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(timevis)
图书馆(lubridate)

timevisData请提供一个运行的闪亮应用程序和必要的示例数据。谢谢我不知道如何提供我的应用程序的运行示例。仪表板中的数据是保密的。必要的数据是dataframe timevisData中的数据。我只是在我的问题中添加了它。请列出您用来运行它的所有包,并有一个完整的
ui
/
server
/
shinyApp
部分,在粘贴代码时运行。对于数据,请按照原始数据的样式制作一些假数据,并粘贴代码如何制作示例data.frame或
dput
的输出以供将来参考,在哪里可以找到示例数据?@jqueryHtmlCSS我的意思是共享一些Eline的数据-或提供一些“假数据”以供使用。它有助于理解要使用的数据结构。如果
df
是共享数据集第一行
n
的数据帧,则可以使用
dput(head(df,n))
。有关更多详细信息,请参阅。它成功了,谢谢你@Ben
output$timeline_aalst <- renderTimevis({
    
    groups <- data.frame(id = c("Klep", "Reinigen", "Zeeppomp"), content = c("Klep", "Reinigen", "Zeeppomp"))
    timevis(data = timevisData, groups = groups, showZoom = TRUE, options = list(editable = TRUE)) %>%
      setWindow(Sys.Date() %m-% months(1), Sys.Date() %m+% months(1))
  })
library(shiny)
library(timevis)
library(lubridate)

timevisData <- data.frame (
  id          = 1:3,
  content     = c("Klep", "Reinigen", "Zeeppomp"),
  group       = c("Klep", "Reinigen", "Zeeppomp"),
  start       = c("2020-12-10", "2020-12-16", "2020-12-30"),
  end         = NA,
  className   = c("green_style", "green_style", "red_style")
)

groups <- data.frame(
  id = c("Klep", "Reinigen", "Zeeppomp"), 
  content = c("Klep", "Reinigen", "Zeeppomp")
)

ui <- fluidPage(
  title = "Testing with className",
  h3("Overzicht uitgevoerde en voorgestelde onderhoudsbeurten"),
  tags$head(
    tags$style(HTML(".red_style   { border-color: red; color: white; background-color: red; }
                     .green_style { border-color: green; color: white; background-color: green; }
                    "))
    ),
  timevisOutput("timeline_aalst")
)

server <- function (input, output, session) {
  output$timeline_aalst <- renderTimevis ({
    timevis (data = timevisData, groups = groups, showZoom = TRUE, options = list(editable = TRUE)) %>%
      setWindow(Sys.Date() %m-% months(1), Sys.Date() %m+% months(1))
  })
}

shinyApp(ui = ui, server = server)