简单的PHP函数将数字转换为热图HTML背景颜色?

我的问题与Algorithm to convert any positive integer to an RGB value有关但实际上它不是同一个问题 – 那个人主要是数据规范化问题,实际上我有更多的审美颜色选择问题.

我有一堆介于-1.0和1.0之间的数字.我需要创建一个叠加文本的热图.

使用PHP的最简单方法是将每个数字转换为HTML颜色(#rrggbb),这样生成的颜色不仅直观地与温度相关(即最冷的最热,最热的最红,最流畅的一些)两者之间的过渡)但它也适合作为黑色文本的背景颜色?

最佳答案
我将它实现为红色和蓝色组件之间的简单线性渐变,使用sprintf function编码为十六进制值:

function toHeatColor($full) {
    $positive = ($full + 1) / 2;
    return sprintf("#%02xcc%02x",$positive * 51 + 204,(1 - $positive) * 51 + 204);
}

您可以看到颜色范围在http://jsfiddle.net/9QQkU/处的显示方式.相应的值为-1,-0.75,0.75和1.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些