【发布时间】:2014-09-18 11:36:53
【问题描述】:
这既是一个编程问题,也是一个艺术和哲学问题。我正在使用传单创建热图图层。通常,热图描绘了数量的强度。
问题是,在这个热图中,我的颜色映射值在 [0,1] 范围内 - 我希望接近零的值和接近 1 的值都显得“热”,而 0.5 左右的值是中性的或“酷”。此外,我希望能够在视觉上区分“热”零和“热”1,即来自 [0,0.5] 和 [0.5,1] 的不同但互补的颜色渐变。
我怎样才能正确地做到这一点?
下面是一个示例渐变,它提供了我的意思的想法,但它是理想的。奇怪的是,如果我将不透明度设置为 0,我会得到深灰色 - 最好在 0.5 区域周围使用几乎透明的颜色。有任何想法吗?
gradient: {
0.00 :'rgba(0,0,238,1)',
0.05 :'rgba(255,0,0,0.5)',
0.10 :'rgba(255,0,0,0.5)',
0.15: 'rgba(255,0,0,0.2)',
0.20: 'rgba(255,0,0,0.2)',
0.25: 'rgba(238,18,137,0.2)',
0.30: 'rgba(205,0,205,0.2)',
0.35: 'rgba(178,58,238,0.1)',
0.40: 'rgba(154,50,205,0.1)',
0.45: 'rgba(240,255,255,0.1)',
0.50: 'rgba(240,255,255,0.1)',
0.55: 'rgba(240,255,255,0.1)',
0.60: 'rgba(0,255,0,0.1)',
0.65: 'rgba(0,255,0,0.1)',
0.70: 'rgba(0,255,0,0.2)',
0.75: 'rgba(255,255,0,0.2)',
0.85: 'rgba(255,255,0,0.2)',
0.90: 'rgba(255,255,0,0.5)',
0.95: 'rgba(255,0,0,0.5)',
1.00: 'rgba(255,0,0,1)'
}
}
【问题讨论】: