я хочу, чтобы положить свои узлы в группах, т.е.D3 одна группа для каждого ввода данных
<g>
<circle></circle>
</g>
<g>
<circle></circle>
</g>
Вот часть моего кода, который устанавливает группы, но не рисует круг в группа.
nodeEnv = nodeGroup.selectAll(".nodeEnv")
.data(graph.nodes);
nodeEnv.exit().remove();
nodeEnvEnter = nodeEnv
.enter().append("g")
.attr("class", "nodeEnv");
nodeEnv = nodeEnvEnter
.merge(nodeEnv);
// Update the nodes
node = nodeEnv
.selectAll("circle")
.data(function(d){return d;});
// Exit any old nodes
node.exit().remove();
// Enter any new nodes
nodeEnter = node.enter().append("circle")
.attr("r", 5)
.attr("id", function(d){ return d.id;})
.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended))
.on("click", clicked);
node = nodeEnter.merge(node);
Основной проблемой является линия, где я привязки данных к node
с .data(function(d){return d;});
. Я нашел это в документации d3.js.
Вот JSFiddle: https://jsfiddle.net/FFoDWindow/64sofrbp/
Любые предложения? Спасибо заранее, FFoDWindow
Пожалуйста, пост ваши «образцы данных» и соответствующие «html» тоже – ozil
Я отредактировал свой вопрос и предоставил JSFiddle. Благодарю. – FFoDWindow