D3.js dc.js-正在侦听图表组渲染
我正在尝试重构一些定制的d3代码,通过引入dc.js来呈现一系列交叉过滤器驱动的图表 我的主要问题是,我有一些dc.js(例如a)不支持的图表类型,我正试图找出如何将它们与dc.js图表组一起呈现 过滤单个dc.js图表将自动呈现/重画属于同一个图表的所有其他图表。是否有可能以某种方式钩住全局重新渲染事件,以便我可以同时重新绘制非dc图表 我知道每个单独的图表上都有监听器,例如,D3.js dc.js-正在侦听图表组渲染,d3.js,dc.js,crossfilter,D3.js,Dc.js,Crossfilter,我正在尝试重构一些定制的d3代码,通过引入dc.js来呈现一系列交叉过滤器驱动的图表 我的主要问题是,我有一些dc.js(例如a)不支持的图表类型,我正试图找出如何将它们与dc.js图表组一起呈现 过滤单个dc.js图表将自动呈现/重画属于同一个图表的所有其他图表。是否有可能以某种方式钩住全局重新渲染事件,以便我可以同时重新绘制非dc图表 我知道每个单独的图表上都有监听器,例如,chart.on(“postRender”,function(chart){…}),但似乎没有办法重新呈现一组图表。是
chart.on(“postRender”,function(chart){…})
,但似乎没有办法重新呈现一组图表。是否有一个好的模式可以实现这一点?正确的方法是将图表注册到dc注册表中
您只需要在某个对象(图表或包装器)上实现.redraw()
和.render()
,并将该对象作为第一个参数传递
将其与应响应的图表放在同一组(第二个参数)
从头开始创建dom元素,并在数据更改时更新它们
根据图表的使用方式,您可能还需要实施和谢谢!这似乎是最干净的方式。我只想在一个随机的dc图表上听重画事件,就像在dc.js用户组中有人建议的那样,但这确实有点黑客;-)我将试一试,让您知道它是如何运行的。我相信当图表组上的缩放级别/焦距范围重置时,也有
.refocusAll()
功能。如果您想参与取消图表注册,则需要提供返回某种guid的.anchorName()
函数。我只是用Math.random()*1000000生成一个随机整数,请您也提供一个例子好吗?很难找到一个…@user3329081,很抱歉回复太慢。此外,您还可以查看一些非常简单的小部件的源代码,例如,尽管您不需要从任何dc.js基类派生来与dc.js兼容。