javascript - 自定义 styleColorBar 根据带有阴影阈值的符号左右移动
问题描述
如果数字<用户定义的阈值(例如-5),我想突出显示红色,如果数字>另一个用户定义的阈值(例如+5),我想突出显示绿色。否则,它是灰色的。任何帮助是极大的赞赏!谢谢你。
它类似于这个问题,但不一样。 styleColorBar 居中并左移/右移取决于符号
测试数据
data <- data.frame(a=c(rep("a",10)),value=c(-8,-7,-2,-3,0,6,2, 7,3,4))
解决方案
尝试:
color_from_middle <- function (data,low,high, colorlow,colorhigh,colordefault)
{
max_val=max(abs(data))
JS(sprintf("isNaN(parseFloat(value)) ||
value < %s ? 'linear-gradient(90deg, transparent, transparent ' + (50 + value/%s * 50) + '%%, %s ' + (50 + value/%s * 50) + '%%,%s 50%%,transparent 50%%)' :
value > %s ? 'linear-gradient(90deg, transparent, transparent 50%%, %s 50%%, %s ' + (50 + value/%s * 50) + '%%, transparent ' + (50 + value/%s * 50) + '%%)':
value < 0 ? 'linear-gradient(90deg, transparent, transparent ' + (50 + value/%s * 50) + '%%, %s ' + (50 + value/%s * 50) + '%%,%s 50%%,transparent 50%%)':
'linear-gradient(90deg, transparent, transparent 50%%, %s 50%%, %s ' + (50 + value/%s * 50) + '%%, transparent ' + (50 + value/%s * 50) + '%%)'",
low,max_val,colorlow,max_val,colorlow,high,colorhigh,colorhigh,max_val,max_val,max_val,colordefault,max_val,colordefault,colordefault,colordefault,max_val,max_val))
}
datatable(data) %>%
formatStyle('value',background=color_from_middle(data$value,-5,5,'red','blue','grey'))
这依赖于 JavaScript条件运算符:condition ? true : false
推荐阅读
- c++ - 挂钩函数
- javascript - 切换 localStorage 项目
- html - R 中的 Google 新闻
- python - 如何在 tensorflow 2.0 中自定义 fit 方法中发生的事情
- angular - TypeError:this.mealService.getCardAssignment 不是 Angular 8 的函数
- flutter - Dart:从 Stripe 重定向后,在 null 上调用了方法“shutDown”
- c# - 在 Visual Studio 2019 中调试元组函数 C#9/.NET 5.0 时出现 ExecutionEngineException
- javascript - 如何使用 JavaScript 在 JSON 数组中搜索新添加的数据
- sql - SQL 我的 ISNULL(SUM(FOOBAR),0) 查询不起作用
- c - va_start() 宏是如何工作的?