d3.js - tutorial - nvd3 js examples
dc.js-Escuchando para renderizar grupos de gráficos (1)
La forma "correcta" de hacerlo es registrar su tabla en el registro de DC con dc.registerChart
https://github.com/dc-js/dc.js/blob/master/src/core.js#L91
Desafortunadamente, esto no está documentado actualmente, pero en realidad hay un acoplamiento bastante ligero aquí. Solo necesita implementar .redraw()
y .render()
en algún objeto (su gráfico o un contenedor) y pasarlo como el primer argumento.
Póngalo en el mismo grupo (segundo arg) que los gráficos a los que debería responder.
render () crea los elementos dom desde cero, y redraw () los actualiza cuando los datos cambian.
Parece que también puede necesitar implementar un .filterAll()
ficticio, pero eso es un descuido.
Agregué un problema para documentar esto:
https://github.com/dc-js/dc.js/issues/676
Comente aquí o aquí si tiene problemas.
EDITAR: esto ahora está documentado, gracias a Jasmine Hegman. Ver la documentación de chartRegistry .
Estoy tratando de refactorizar algunos códigos d3 personalizados que escribí para generar una serie de gráficos impulsados por filtros cruzados mediante la incorporación de dc.js.
Mi problema principal es que tengo algunos tipos de gráficos que no son compatibles con dc.js (por ejemplo, una partición Sunburst ) y estoy tratando de encontrar la forma de representarlos junto con un grupo de gráficos dc.js.
Filtrar un solo gráfico dc.js automáticamente renderizará / redibujará todos los demás gráficos que pertenezcan al mismo grupo de gráficos . ¿Es posible enganchar de algún modo en ese evento global de reedición, de modo que pueda volver a dibujar los gráficos que no son de CC al mismo tiempo?
Entiendo que hay oyentes en cada gráfico individual, por ejemplo, chart.on("postRender", function(chart){...})
pero no parece haber una forma de enganchar en la re-representación de un grupo de gráficos . ¿Hay un buen patrón por el cual esto podría lograrse?