Узлы, загруженные из данных в начале симуляции, видны.
Я добавил кнопку для добавления узлов из остальной части набора данных, и эти узлы, хотя и присутствуют, невидимы.
Я знаю, что они присутствуют, потому что они образуют связи с 1 кружком в одномконец и ничего на другом конце.
невидимые узлы
Я думаю, что это возможно, потому что я объединяю объявления переменных с помощью узла и круга, честно говоря, я понятия не имею. Любая помощь приветствуется.
//Data-loading function
var node = svg.append("g")
.attr("class", "nodes")
.selectAll("g")
.data(nodes)
.enter().append("g")
var circles = node.append("circle")
.attr("r", 5)
.on('click', mousedown)
.call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended));
simulation
.nodes(nodes)
.on("tick", ticked);
function ticked() {
circles
.attr("cx", function (d) {return d.x;})
.attr("cy", function (d) {return d.y;})
}
//restart function
function restart() {
node = svg.selectAll("circles").data(nodes, function(d) {return d;});
node.exit().remove();
node.enter().append("circle")
.attr("class", "nodes")
.merge(node);
simulation.nodes(nodes);
}//end of restart function
const addData = () => {
nodes.push(restOfData.shift());
restart();
console.log(nodes);
};
document.getElementById('addData')
.addEventListener('click', addData);
Я оставил код для краткости. полный код здесь: https://github.com/spoonerFish/d3_fifa/blob/master/adding_Nodes