我试图在几个图表中使用单个colorScale,包括散点图。正如这个小提琴所示,一切都正确显示:http://jsfiddle.net/za8ksj45/8/
Uncomment line 210 --> working selection but no colors.
comment line 210 --> colors but selection 'empties' other graphs.
然而,当我在最右边的散点图中选择点时,一切都被归零了。出。将第三个元素添加到维度时,事情就会出错。
此问题也在DC.JS google用户组中根据第三个变量' Color scatterplot' https://groups.google.com/forum/#!topic/dc-js-user-group/55nJcU0qDfg
我无法使用Gordon的.existenceAccessor函数来使用它。任何有助于颜色和选择的帮助都将非常感激。
谢谢, --Nico
答案 0 :(得分:2)
颜色在逻辑上不是密钥的一部分。你真的想减少这里的两个值,计数和颜色。这需要自定义缩减功能(或reductio可能会使其更容易)。
您可以从您为bin看到的第一个值中获取颜色。据推测,无论如何每个bin只有一个值,这对于crossfilter中的散点图总是一件奇怪的事。
这种自定义缩减似乎有效(有点hacky):
var scatterGroupDate = scatterDimensionDate.group().reduce(
function (p, v) {
p.count = p.count ? p.count + v.setupTime : 1;
p.color = v.recipe;
return p;
},
function (p, v) {
p.count -= v.setupTime;
return p;
},
function () { return {}; }
);
使用colorAccessor
.colorAccessor(function (d) {
return d.value.color;
})
和presenceAccessor
.existenceAccessor(function(d) { return d.value.count; })