我有一个热图,想要为每一行单独设置颜色方案。那可能吗?使用以下代码,我可以创建一个工作热图,但所有行的颜色都相同。
fooHeatmap = dc.heatMap("#fooHeatmap")
.width(width)
.height(height)
.dimension(fooDim)
.group(fooGroup)
.keyAccessor(function(d) { return d.key[0]; })
.valueAccessor(function(d) { return d.key[1]; })
.colorAccessor(function(d) { return d.value; })
.colors(d3.scale.linear()
.domain([0,1, fooGroup.top(1)[0].value])
.range(["#bbb","#D0DDFF","blue"]))
答案 0 :(得分:2)
dc.js每个图表只使用一个颜色比例,但您可以将var vm = this;
vm.treedata = [{
"name": "Titel",
"id": "1"
}, {
"name": "Allgemeine Standardangaben",
"id": "2"
}];
vm.text = "Hallo";
组合到颜色存取器中以创建不相交的颜色空间,并为颜色比例指定多个域值以便创建多个颜色范围。
这称为polylinear scale。
E.g。如果d.key[1]
介于0.0和1.0之间,d.value
为0,1,2,3 ...:
.d.key[1]
现在 .colorAccessor(function(d) { return d.key[1]*2 + d.value; })
.colors(d3.scale.linear()
.domain([0,1,2,3,4,5...])
.range([color0,color1,color2,color3,color4,color5...]))
将返回介于0.0-1.0,2.0-3.0,4.0-5.0之间的值......并且线性比例将在color0-color1,color2-color3,color4-color5之间映射...
这有点棘手,你必须知道所有的行值。