如果我有一组百分比范围从 -0.75 到 0.3 的数据数字,并且我想创建一个热图,其中 -0.75 是“亮红色”图块,0.3 值是“亮绿色值”,介于两者之间的是在这之间进行缩放。
我目前有这个:
js
var color = d3.scale.quantize()
.domain([-.7, .3])
.range(d3.range(11).map(function(d) { return "q" + d + "-11"; }));
css
.RdYlGn .q0-11{fill:rgb(255,0,0)}
.RdYlGn .q1-11{fill:rgb(255,50,50)}
.RdYlGn .q2-11{fill:rgb(255,100,100)}
.RdYlGn .q3-11{fill:rgb(255,150,150)}
.RdYlGn .q4-11{fill:rgb(255,200,200)}
.RdYlGn .q5-11{fill:rgb(255,255,255)}
.RdYlGn .q6-11{fill:rgb(200,255,200)}
.RdYlGn .q7-11{fill:rgb(150,255,150)}
.RdYlGn .q8-11{fill:rgb(100,255,100)}
.RdYlGn .q9-11{fill:rgb(50,255,50)}
.RdYlGn .q10-11{fill:rgb(0,255,0)}
但这些数字似乎并不正确。百分比似乎是这样缩放的:
.3 = q0 Green
.0 = q2
-.1 = q4
-.5 = q5 White
-.7 = q11 Red
-.5 是我的白色中间值是有道理的,因为这是 0.3 和 -.7 的中值,但我不希望它是那样。有什么帮助吗?