可格式化的绝对值忽略符号

问题描述

我正在尝试在“a”列上使用 color_tile 并且我正在尝试找出如何忽略符号或使用“c”列中的样式(a 的绝对值,在之后隐藏 c与c=FALSE)。

我见过使用列 'c' 的例子,但它使用 if 语句中的实际值而不是样式,或者没有手动输入的数字。所以我想要的是 -5 有最深的绿色,1 没有颜色。

我拥有的是

formattable(table,list(a=color_tile("transparent","green"),b=color_tile("transparent",c=color_tile("transparent","green")))

有人可以帮忙吗?

what I currently have

编辑 数据:

table <- data.frame("a"=c(1,-5,3,-2),"b"=c(4,-2,1,5),"c"=c(1,5,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")))))

格式化程序基于另一列值(b 基于 c)

formatter_tile_from_c = formatter("span",`background-color` = ifelse(df$c == 1,csscolor(gradient(as.numeric(abs(df$c)),"lightblue","darkblue")))))

代码

df <- data.frame( a = c(-5,-4,-3,-2,-1,1,2,3,4,5),b = 1,c = c(5,5))

formattable(df,list(a = formatter_tile,b = formatter_tile_from_c))

输出 enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...