r - 可格式化的绝对值(忽略符号)
问题描述
我正在尝试在“a”列上使用 color_tile,并试图找出如何忽略该符号,或使用“c”列中的样式(a 的绝对值,用 隐藏 c 之后c=FALSE
)。
我见过它使用列'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")))))
基于另一列值的格式化程序(b 基于 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))
推荐阅读
- ios - 按屏幕高度获取 iPhone 型号 XS Max
- r - R 编程中的 Rosenblatts 感知器实现
- asp.net - 导航栏换行类似于 asp 中的 Visual Studio
- php - PHP Laravel API - 如何限制对多个受信任主机的请求?
- scala - Scala yield 返回一个 Future
- python - Python 类 DRY
- javascript - d3 中的负对数和零对数值
- c - C#error 宏可以显示多行消息吗?
- angular - Angular 中的 Observable 返回 [ Object object ]
- python - 允许使用 Django 和 Meraki Captive Portal API 自动重定向浏览器