我正在尝试在多个图表(包括散点图)中使用单个 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/