我试图重构一些定制的d3代码,我编写这些代码是为了通过引入dc.js来呈现一系列交叉过滤器驱动的图表。
我的主要问题是,我有一些dc.js不支持的图表类型(例如,太阳暴晒分区),并且我正在试图找出如何与dc.js图表组一起呈现它们。
过滤单个dc.js图表将自动呈现/重新绘制属于同一chartGroup的所有其他图表。是否有可能以某种方式连接到全局重呈现事件,以便我可以在同一时间重新绘制非dc图表?
我知道每个图表上都有侦听器,例如chart.on("postRender", function(chart){...})
,但是似乎没有办法连接到重新呈现一组图表。是否有一个很好的模式可以实现这一点?
发布于 2014-08-17 17:23:42
这样做的“正确”方法是使用dc.registerChart在dc注册表中注册图表。
您只需在某个对象(图表或包装器)上实现.redraw()
和.render()
,并将该对象作为第一个参数传递。
把它放在与它应该响应的图表相同的组(第二arg)中。
根据图表的使用方式,您可能还必须实现.filterAll()和.anchorName()。
https://stackoverflow.com/questions/25336528
复制相似问题