【发布时间】:2020-07-18 03:59:30
【问题描述】:
我在 Shiny 中使用 superhero 主题以及下面的行,这有助于使过滤器的文本颜色变为黑色,
ui <- fluidPage(
theme = shinytheme("superhero"),
tags$head(tags$style("div.dataTables_scrollHead span {color: black;}")),
...
)
1. 但是,固定列(时间列1)的颜色与主题的颜色并不不一致。它是白色的,很难看到文字。如何更改它以匹配超级英雄主题的颜色或将其更改为更用户友好的颜色?
更新:所以我设法更改了固定列的颜色,但我希望一行是深蓝色,另一行是浅蓝色。加上行索引和列标题仍然是白色的,如下图所示。
output$mytable <- DT::renderDataTable(datatable(df,rownames = T,
filter="top",
extensions = "FixedColumns",style = 'bootstrap',
options = list(scrollX = TRUE, scrollY = TRUE,
autoWidth = F,
columnDefs = list(list(width = '145px', targets = c(1))),
fixedColumns=list(leftColumns=2)))
%>%formatRound(c(2:l_agg), 2)%>% formatStyle('Timestamp',backgroundColor='#2B3E50'))
2. 现在固定列(时间)是character 类型(从POSIXct 转换为字符),我尝试将POSIXct 时间放在datatable但时区不同。我应该如何拥有POSIXct 类型的时间列并在数据表中正确格式化?
例如,这是我拥有的时间序列数据,理想情况下,我希望 Shiny 数据如下所示,不包含 CST 部分。
[1] "2020-04-06 09:31:20.000 CST" "2020-04-06 09:31:51.000 CST" "2020-04-06 09:32:21.000 CST" "2020-04-06 09:32:50.000 CST"
[5] "2020-04-06 09:33:21.000 CST" "2020-04-06 09:33:51.000 CST"
结构是
structure(c(1586136680.0005, 1586136711.0005, 1586136741.0005,
1586136770.0005, 1586136801.0005, 1586136831.0005), class = c("POSIXct",
"POSIXt"), tzone = "")
【问题讨论】: