可格式化的绝对值(忽略符号)
Formattable absolute values (ignoring sign)
我正在尝试在 'a' 列上使用 color_tile 并且我正在尝试找出如何忽略该符号或使用列 'c' 中的样式(a的绝对值,在c=FALSE
之后隐藏c)。
我见过使用列 'c' 的示例,但它使用 if 语句中的实际值而不是样式,或者没有手动输入的数字。所以我想要的是 -5 有最深的绿色,1 没有颜色。
我有的是
formattable(table, list(a=color_tile("transparent", "green"),
b=color_tile("transparent","green"),
c=color_tile("transparent","green")))
有人能帮忙吗?
编辑
数据:
table <- data.frame("a"=c(1,-5,3,-2), "b"=c(4,-2,1,5), "c"=c(1,5,3,2))
格式化程序基于自己的列值
formatter_tile = formatter("span",
style = x ~ style(display = "block",
padding = "0 4px",
`border-radius` = "4px",
`background-color` = ifelse(x == 1,
"transparent",
csscolor(gradient(as.numeric(abs(x)), "lightgreen", "darkgreen")))))
Formatter based on another column value (b based on c)
formatter_tile_from_c = formatter("span",
style = x ~ style(display = "block",
padding = "0 4px",
`border-radius` = "4px",
`background-color` = ifelse(df$c == 1,
"transparent",
csscolor(gradient(as.numeric(abs(df$c)), "lightblue", "darkblue")))))
代码
df <- data.frame( a = c(-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5),
b = 1,
c = c(5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5))
formattable(df,
list(a = formatter_tile,
b = formatter_tile_from_c))
输出
我正在尝试在 'a' 列上使用 color_tile 并且我正在尝试找出如何忽略该符号或使用列 'c' 中的样式(a的绝对值,在c=FALSE
之后隐藏c)。
我见过使用列 'c' 的示例,但它使用 if 语句中的实际值而不是样式,或者没有手动输入的数字。所以我想要的是 -5 有最深的绿色,1 没有颜色。
我有的是
formattable(table, list(a=color_tile("transparent", "green"),
b=color_tile("transparent","green"),
c=color_tile("transparent","green")))
有人能帮忙吗?
编辑 数据:
table <- data.frame("a"=c(1,-5,3,-2), "b"=c(4,-2,1,5), "c"=c(1,5,3,2))
格式化程序基于自己的列值
formatter_tile = formatter("span",
style = x ~ style(display = "block",
padding = "0 4px",
`border-radius` = "4px",
`background-color` = ifelse(x == 1,
"transparent",
csscolor(gradient(as.numeric(abs(x)), "lightgreen", "darkgreen")))))
Formatter based on another column value (b based on c)
formatter_tile_from_c = formatter("span",
style = x ~ style(display = "block",
padding = "0 4px",
`border-radius` = "4px",
`background-color` = ifelse(df$c == 1,
"transparent",
csscolor(gradient(as.numeric(abs(df$c)), "lightblue", "darkblue")))))
代码
df <- data.frame( a = c(-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5),
b = 1,
c = c(5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5))
formattable(df,
list(a = formatter_tile,
b = formatter_tile_from_c))
输出