为 dc.js 散点图分配颜色会干扰图表中的选择

assigning color to dc.js scatter plot interferes with selection in the graph

我正在尝试在多个图表(包括散点图)中使用单个 colorScale。一切都正确显示,如 fiddle 所示:http://jsfiddle.net/za8ksj45/8/

Uncomment line 210 --> working selection but no colors.
comment line 210   --> colors but selection 'empties' other graphs.

然而,当我select指向最右边的散点图时,一切都'zeroed'出来了。当您向维度添加第三个元素时,事情就出错了。

DC.JS google 用户组 'Color scatterplot based on third variable' https://groups.google.com/forum/#!topic/dc-js-user-group/55nJcU0qDfg

下也描述了这个问题

我无法使用 Gordon 的 .existenceAccessor 函数让它工作。任何允许颜色和 selection 的帮助将不胜感激。

谢谢, --妮可

颜色在逻辑上不是键的一部分。你真的想在这里减少两个值,计数和颜色。这需要一个自定义的 reduce 函数(或者 reductio 可能会更容易)。

您可以从您看到的第一个 bin 值中获取颜色。大概每个 bin 只会有一个值,这对于交叉过滤器中的散点图来说总是一件奇怪的事情。

这个自定义减少似乎有效(有点老套):

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(function (d) {
    return d.value.color;
})

和存在访问器

.existenceAccessor(function(d) { return d.value.count; })

分叉 fiddle:http://jsfiddle.net/gordonwoodhull/za8ksj45/11/