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

标签 dc.js

我正在尝试在多个图表(包括散点图)中使用单个 colorScale。一切都正确显示,如这个 fiddle 所示: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 用户组的“基于第三个变量的颜色散点图”https://groups.google.com/forum/#!topic/dc-js-user-group/55nJcU0qDfg 下进行了描述。

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

谢谢, --妮可

最佳答案

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

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

这种自定义减少似乎有效(有点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(function (d) {
    return d.value.color;
})

和存在访问器

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

fork fiddle :http://jsfiddle.net/gordonwoodhull/za8ksj45/11/

关于dc.js - 为 dc.js 散点图分配颜色会干扰图表中的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944326/

相关文章:

javascript - 从下拉列表中选择选项时如何更改 View 数据,而无需刷新页面?

d3.js - dc散点图绑定(bind)onClick事件

javascript - 如何以可扩展的方式分配 javascript 变量

javascript - 8k+ 项目的 dc.js lineChart 性能问题

d3.js - 在直流系列图中设置 Y 轴范围

javascript - DC.js根据维度计算平均值

javascript - 在 dc.js 中更改图例值

javascript - Crossfilter 是否需要平面数据结构?

javascript - 根据依赖于一个字段的值对样本进行分组

javascript - dc.js 按月排序 X 轴