确定html热图的正确RGB

时间:2013-08-01 16:09:55

标签: javascript jquery colors rgb hsl

我希望能够应用从红色到绿色到蓝色平滑混合的色彩地图。

我很清楚,我需要使用HSL来制作这样的热图,然后将每个HSL值转换为RGB值以实现此结果。但是我不知道如何实施解决方案。

以下是代码的一部分,它采用表格元素并确定要应用于哪种RGB颜色。在这种情况下,它是表格类型的“内聚能量”

var td = document.createElement('td');
                cellKey = sprintf('%s,%s', m1, m2);
                if (_.has(table['cells'], cellKey)) {
                    var diff = table['max'] - table['min'];
                    diff = Math.max(1, diff); // prevent divide by zero when max == min.
                    var val = table['cells'][cellKey]['value'];
                    var pct = (val - table['min']) / diff;
                    var blue = Math.floor(255 * (1 - pct));
                    var red = Math.floor(255 * pct);
                    if (table['type'] == "Cohesive Energy") {

                         var blue = Math.floor(255 * (1 - pct));

                         var red = Math.floor(255 * pct);

                         td.style.background = sprintf('rgb(%d,%d,0)', red, blue);

                    }

这是网站http://muskoka.ices.utexas.edu/~fri/fridb/server.py

以下是一些示例数据:https://docs.google.com/file/d/0B5gGZ4-SD7-ZU0RCWkFwN3JBYWs/edit?usp=sharing

1 个答案:

答案 0 :(得分:1)

您可能需要查看Chroma.js。它是一个库,可以处理色阶的生成以及各种范围和色彩空间的颜色转换。