我正在尝试重构一些我编写的自定义 d3 代码,以通过引入 dc.js 来呈现一系列交叉过滤器驱动的图表。
我的主要问题是我有一些 dc.js 不支持的图表类型(例如 Sunburst Partition ),我试图弄清楚如何将它们与 dc.js 图表组一起呈现。
过滤单个 dc.js 图表将自动呈现/重绘属于相同的所有其他图表 chartGroup .是否有可能以某种方式 Hook 该全局重新渲染事件,以便我可以同时重新绘制非直流图表?
我知道每个图表上都有听众,例如chart.on("postRender", function(chart){...})
但似乎没有办法重新渲染一组图表。有没有一个好的模式可以实现这一点?
最佳答案
执行此操作的“正确”方法是使用 dc.registerChart 在 dc 注册表中注册您的图表。
你只需要执行 .redraw()
和 .render()
在某个对象(您的图表或包装器)上,并将该对象作为第一个参数传递。
将它与它应该响应的图表放在同一组(第二个参数)中。
render()从头开始创建 dom 元素,然后 redraw()当数据改变时更新它们。
根据图表的使用方式,您可能还需要实现 .filterAll()和 .anchorName()
关于d3.js - dc.js - 监听图表组渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25336528/