dc.js如何控制刷机交易效果?

How to control Brush transaction effect in dc.js?

我正在使用 dc.js 制作可视化数据分析工具的原型。 关于库的画笔功能,如何指定一个行为(AB)来画笔选择?

我用相似的代码有两种不同的行为。

A 中,选定的条形图以 'teal' 颜色突出显示,未选定的条形图呈灰色。

B 中,选定的柱状图也以 'teal' 颜色突出显示。但是,这次它完全隐藏了未选中的条。

谁能告诉我我应该 using/changing 哪个 function/feature 才能定义 AB

A

     s.spendHistChart
       .width(350).height(200)
       .colors('teal')
       .centerBar(true)
       .dimension(cAmountDim)
       .group(spendHist)
       .x(d3.scale.linear().domain([0,100]))
       .elasticY(true)

B

         s.chart2
            .width(990).height(120)
            .colors('teal')
            .margins({top: 0, right: 50, bottom: 20, left: 80})
            .dimension(s.moveMonths)
            .group(s.dateDimensionSpend)
            .centerBar(true)
            .gap(20)
            .x(d3.time.scale().domain([new Date(2013, 0, 1), new Date(2015, 11, 31)]))
            .elasticX(false)
            .round(d3.time.month.round)
            .alwaysUseRounding(true)
            .xUnits(d3.time.months);

我肯定遗漏了什么。我希望你能帮助我。

A​​ 是预期的行为。

Crossfilter 维度只会观察其他维度的变化。

过滤发生在维度上,但 dc.js 从组中读取数据。

因此,如果图表的组不属于其维度,则图表将观察其自身的过滤器,这通常不是所需的行为。

https://github.com/square/crossfilter/wiki/API-Reference#dimension_group