【问题标题】:understanding dc interaction with crossfilter objects了解 dc 与交叉过滤器对象的交互
【发布时间】:2014-10-02 16:57:26
【问题描述】:

虽然我可以编写dc.js 应用程序,但我仍然不明白dc 如何使用crossfilter 对象,即各种图表中的维度和组。当我们单击图形元素时,例如饼图切片,我相信 dc 正在对维度应用过滤器,但它是否也操纵 crossfilter 对象?任何人都知道任何解释 dc 如何与交叉过滤器对象交互的文档/文章?我知道http://www.codeproject.com/Articles/693841/Making-Dashboards-with-Dc-js-Part-Using-Crossfil 这对初学者来说确实很好,但它并没有深入探讨这个特定主题。

例如,我有这个 dc 图表:http://bit.ly/1nStSh3

基本上,数据集具有对象名称(其中 4 个,P、Q、S、T)及其不同日期的大小。这两个饼图分别显示日期和对象的大小。有一个折线图显示了一段时间内的数据增长。现在,当我点击第二个图,即对象名称时,折线图和第一个饼图都会自动调整,但是当我点击第一个饼图时,折线图不会改变。

【问题讨论】:

    标签: dc.js crossfilter


    【解决方案1】:

    crossfilter 文档和 dc.js 常见问题解答:a dimension does not observe its own filters 涵盖了您的特定问题,但仅限于其他维度的过滤器。

    要让图表相互响应,请创建维度的副本(使用相同的参数构造另一个)并将图表放在不同的维度上。 (还有work underway反映同维度图表之间的刷屏/过滤状态。)

    至于你更大的问题,不,我知道没有关于 dc.js 和 crossfilter 之间交互的文档。作为 dc.js 的主要维护者(但不是原作者),我希望在明年编写这样的文档。

    实际上并没有什么魔力:图表只是更新维度过滤器,然后在其组中的图表上触发重绘。每个图表中的 d3 转换使它看起来比这更漂亮。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 2018-11-02
      相关资源
      最近更新 更多