dc.js – 监听图表组渲染

我试图重构一些自定义d3代码,通过引入dc.js来渲染一系列交叉过滤驱动的图表。

我的主要问题是,我有一些不支持dc.js的图表types(例如Sunburst分区 ),我试图找出如何将它们与dc.js图表​​组结合使用。

过滤单个dc.js图表​​将自动呈现/重绘属于同一个chartGroup的所有其他图表。 是否有可能以某种方式挂钩到全局重新渲染事件中,以便我可以同时重新绘制非直方图?

我知道每个图表上都有监听器,例如chart.on("postRender", function(chart){...})但似乎没有办法挂钩重新渲染一chart.on("postRender", function(chart){...})表。 有没有一个好的模式可以完成?

One Solution collect form web for “dc.js – 监听图表组渲染”

这样做的“正确”方法是在dcregistry中用dc.registerChart注册图表

https://github.com/dc-js/dc.js/blob/master/src/core.js#L91

不幸的是,这个东西目前还没有logging,但实际上这里有非常轻的耦合。 您只需要在某个对象(图表或包装器)上实现.redraw().redraw() ,并将其作为第一个参数传入。

把它放在同一组(第二个参数)和它应该回应的图表中。

render()从头创builddom元素, redraw()在数据更改时更新它们。

看起来你也可能需要实现一个虚拟的.filterAll()但这是一个疏忽。

我添加了一个问题来logging这些东西:

https://github.com/dc-js/dc.js/issues/676

如果遇到麻烦,请在这里或在这里发表评论。

编辑:这是现在logging,感谢茉莉花赫格曼。 请参阅chartRegistry文档 。

  • Unix:删除重复的行而不进行sorting
  • 如何延迟AngularJS即时search?
  • 在data.frame中删除具有NAs(缺失值)的行
  • 文件input“接受”属性 - 是否有用?
  • 在JavaFX中build立数字TextField的推荐方法是什么?
  • 如何deviseRESTfulsearch/过滤?
  • 在CollectionViewSource上触发filter
  • Eclipse:过滤资源时发生错误