2013-08-01 60 views
0

我希望能够应用从红色到绿色到蓝色平滑融合的彩色地图。确定html热图的正确RGB

显然对我来说,我将需要使用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

+0

现代浏览器(IE9甚至)支持'hsl()'和'hsla()'颜色。 – Pointy

回答

1

你可能想看看Chroma.js。这是一个图书馆,可以处理各种范围和色彩空间的色阶和颜色转换。