有条件地在htmlTable中为R单元着色

时间:2016-07-28 14:48:42

标签: r formatting

我正在使用优秀的htmlTable包在rmarkdown中打印一些结果。我的一个表显示0到1之间的值。我生成了一个在白色(#FFFFFF)和红色(#FF5555)之间插入的100种颜色的矢量,我希望根据它的值来匹配每个单元格的背景。 / p>

逻辑部分对我来说很清楚(将单元格的值乘以100,而不是圆形,并从颜色向量的相应索引中提取颜色)。

我不确定的是,每个单元格的颜色匹配,如何让htmlTable绘制它?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你可以使用rgb颜色来做到这一点 像:

paste0("background-color:RGB(255, ",value*255," , ",value*255 ," )" 

其中value是您的单元格值从0到1

示例(0红色,1白色)

 df = as.data.frame(matrix(round(runif(15, 0, 1), 1),ncol = 3 ))

htmlTable::htmlTable(df,css.cell=apply(df,c(1,2),function(i)paste0("background-color:RGB(255, ",round(i*255,0)," , ",round(i*255,0) ," )")))

enter image description here