En backbone.js, la función de renderización de una vista genera html no asociado que luego puede adjuntarse al dom.Representación en Backbone.js usando d3.js y svgs
Actualmente, tengo que tener un objetivo existente en el HTML para poder agregar un svg a. Luego uso el patrón de datos/ingresar para insertar elementos en el svg. ¿Hay alguna manera de hacer que d3.js genere el svg sin conectarlo al dom?
var svg = d3.select("#target").append('svg')
.attr("viewBox","0 0 100 100");
svg.selectAll("circle")
.data(data)
.enter().append("circle")
.attr("r", 10)
.style("fill", "black");
Alternativamente, ¿es posible proporcionarle a d3 un elemento dom sin uniones para agregar cosas? ¿Algo como esto? D3.js documentación sugiere que seleccione puede aceptar nodos, pero el siguiente no funciona para mí tampoco
var svg = d3.select(this.$el).append('svg') // Uncaught TypeError: Object [object Object] has no method 'appendChild'
.attr("viewBox","0 0 100 100");
svg.selectAll("circle")
.data([1,2,3])
.enter().append("circle")
.attr("r", 10)
.style("fill", "black");
¿Has probado 'd3.selectAll ([this.el])'? D3 podría no estar contento con un objeto jQuery, podría querer una matriz real. –
Lo he intentado (no funciona). Por cierto, la documentación d3 a la que me refería sugiere que d3 sí funciona bien con los objetos Jquery. https://github.com/mbostock/d3/wiki/Selections#wiki-d3_select -> "Estos métodos también pueden aceptar nodos, lo cual es útil para la integración con bibliotecas de terceros como jQuery o herramientas de desarrollador" – kumikoda