Avevo pensato che le d3.js append
funzione restituisce l'oggetto aggiunto ad una selezione, ma trovo i seguenti due blocchi di codice dare risultati diversi:Qual è la differenza tra questi due blocchi di codice in d3.js
var svg = d3.select("body")
.append("svg")
.attr("width", fig_width)
.attr("height", fig_height);
svg.append("g")
.attr("class", "graph")
.attr("transform",
"translate(" + graph_margin.left + "," + graph_margin.top + ")");
che non sembra di tradurre il gruppo di diagrammi, compensando esso con un margine sinistro e superiore e:
var svg = d3.select("body")
.append("svg")
.attr("width", fig_width)
.attr("height", fig_height)
.append("g")
.attr("class", "graph")
.attr("transform",
"translate(" + graph_margin.left + "," + graph_margin.top + ")");
che fa.
Cosa non capisco del modo in cui funziona in SVG/d3.js?
Entrambi dovrebbero dare lo stesso risultato. Puoi pubblicare un esempio completo per favore che dimostri il problema? –
Hmm, ho appena provato [entrambi i snippet] (http://plnkr.co/edit/RaPMhaBJzDLhDyPd6EeD?p=preview). Producono esattamente gli stessi risultati. '' and ' ' – Mark
Immagino che tu stia usando' svg' per aggiungere elementi aggiuntivi a - tieni presente che nel primo caso, 'svg' contiene l'elemento SVG e nel secondo l'elemento' g' tradotto. Quindi tutto ciò che si aggiunge a 'svg' nel primo caso non verrebbe tradotto (perché non è contenuto nell'elemento' g'). –