COLOR_TILE函数中可以使用2种以上的颜色吗? [英] Is it possible to use more than 2 colors in the color_tile function?

查看:14
本文介绍了COLOR_TILE函数中可以使用2种以上的颜色吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据框列,我当前正在使用formattable::color_tile函数(如下)对其进行格式化:

color_tile( "red", "springgreen" )

我的问题是,中间附近的值是难看的棕色,理想情况下我希望它是红-琥珀-绿渐变,但color_tile似乎只能接受min.color和max.color参数-是否可以在R中使用具有此或类似格式函数的第三种颜色?

推荐答案

该函数看起来不能处理两种以上的颜色,但您可以在该模板上创建自己的生成。

color_tile2 <- function (...) {
  formatter("span", style = function(x) {
    style(display = "block",
          padding = "0 4px", 
          `border-radius` = "4px", 
          `background-color` = csscolor(matrix(as.integer(colorRamp(...)(normalize(as.numeric(x)))), 
                                               byrow=TRUE, dimnames=list(c("red","green","blue"), NULL), nrow=3)))
  })}

可以像这样使用

formattable(mtcars, list(mpg = color_tile2(c("white", "pink"))))
formattable(mtcars, list(mpg = color_tile2(c("blue", "green", "pink"))))

这篇关于COLOR_TILE函数中可以使用2种以上的颜色吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆