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

前端之家收集整理的这篇文章主要介绍了简单的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.

猜你在找的HTML相关文章