在DT中手动指定styleColorBar限制。

问题描述 投票:0回答:1

我试图使用DT包在R中创建并排的数据表,并使用下面的styleColorBar函数对单元格背景进行着色。本页. 然而,我希望条形图的大小与绝对值成正比,而不仅仅是表中的数值。例如,如果我用下面的数据做了两张表。

data_1 <- data.frame("Team" = c("Alex", "Beth", "Charlie", "Diane"),
   "Spending_Q1" = c(1000, 500, 1500, 1000))


data_2 <- data.frame("Team" = c("Alex", "Beth", "Charlie", "Diane"),
   "Spending_Q2" = c(3000, 500, 500, 500))

我希望显示3000的单元格有最长的背景条,而显示1500的单元格有一半长的条。

这可能吗,还是说只有在同一个数据表中,条形图总是与最大的值成比例?

r shiny datatables dt
1个回答
0
投票

你可以像这样用绝对值来指定。

library(DT)
data_1 <- data.frame("Team" = c("Alex", "Beth", "Charlie", "Diane"),
                     "Spending_Q1" = c(1000, 500, 1500, 1000))

data_2 <- data.frame("Team" = c("Alex", "Beth", "Charlie", "Diane"),
                     "Spending_Q2" = c(3000, 500, 500, 500))

datatable(data_1) %>% formatStyle(names(data_1),
                              background = styleColorBar(1:3000, 'lightblue'),
                              backgroundSize = '98% 88%',
                              backgroundRepeat = 'no-repeat',
                              backgroundPosition = 'center')
datatable(data_2) %>% formatStyle(names(data_2),
                                  background = styleColorBar(1:3000, 'lightblue'),
                                  backgroundSize = '98% 88%',
                                  backgroundRepeat = 'no-repeat',
                                  backgroundPosition = 'center')

这是你要找的吗?

© www.soinside.com 2019 - 2024. All rights reserved.