问题描述
我在 Var1 上设置了渐变,这样值越高,它就越红。我想知道是否有可能对其进行更改,以便值越高,它就会变得越来越绿。我喜欢它的一切,我只希望渐变从黑色变为绿色,而不是从黑色变为红色。我曾尝试调整 background-color
命令中的数字,但似乎无法正确设置。有没有可能解决这个问题?是否有我可能缺少的数字颜色渐变指南?
library(formattable)
ex <- structure(list(Group = 1:3,Var1 = c(0,0.4,0.8)),class = "data.frame",row.names = c(NA,-3L))
ex <- formattable(ex,align = c("l","l","c","c"),list(Var1 = formatter("span",style = x ~ style(display = "block","border-radius" = "4px","padding-right" = "4px",color = "white","background-color" = rgb(ex$Var1/max(ex$Var1),1)))))
解决方法
您可以使用 csscolor(gradient())
定义渐变颜色。 - 这也是 color_tile
的 formattable
函数中使用的函数。
ex <- formattable(ex,align = c("l","l","c","c"),list(Var1 = formatter("span",style = x ~ style(display = "block","border-radius" = "4px","padding-right" = "4px",color = "white","background-color" = csscolor(gradient(as.numeric(x),"black","green"))))))
ex