如何在dc.js中控制画笔交易效果?

时间:2015-09-22 16:04:33

标签: javascript d3.js dc.js crossfilter

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

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

A 中,所选条形图以“蓝绿色”突出显示,未选中条形图以灰色显示。

B 中,所选条形图也会以“青色”颜色突出显示。但是,这次它完全隐藏了未选中的条形图。

有人可以告诉我应该使用/更改哪个功能/功能以定义 A B

A

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

         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);

我肯定错过了一些东西。我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

A是预期的行为。

Crossfilter尺寸仅观察其他尺寸的变化。

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

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

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