Ich habe diesen Code für meine Kraft gerichteten Graphen zu aktualisieren, die ich jedesmal, wenn ich Knoten und Verbindungen aus den respectives Arrays löschen rufen:Löschen/Ändern Etiketten in Kraft Directed Graph
function update_graph() {
link_update = svg.selectAll(".link").data(
force.links(),
function (d) {
return d.source.id + "-" + d.target.id;
}
);
link_update.enter()
.insert("line", ".node")
.attr("class", "link");
link_update.exit()
.remove();
node_update = svg.selectAll(".node").data(
force.nodes(),
function (d) {
return d.id;
}
);
node_update.enter()
.append("circle")
.attr("class", function (d) {
return "node " + d.id;
})
.attr("r", function (d) {
return radio/d.group;
})
.call(force.drag)
.on('dblclick', connectedNodes);
//labels
node_update.enter().append("text")
.attr("dx", function (d) {
return (radio-7)/d.group;
})
.attr("dy", function (d) {
return (radio-7)/d.group;
})
.text(function (d) {
return d.id;
})
.style("stroke", "black");
// Remove the SVG circle whenever a node vanishes from the node list.
node_update.exit()
.remove();
// Start calling the tick() method repeatedly to lay out the graph.
force.start();
}
Die Knoten und Verknüpfungen werden korrekt aus dem Diagramm gelöscht, aber die Beschriftungen bleiben dort. Wie kann ich die Beschriftungen mit den Knoten synchronisieren und nur anzeigen, was sich gerade im Diagramm befindet?
Fiddle replizieren das Problem: https://jsfiddle.net/vzes4h8y/
Vielen Dank im Voraus
Können Sie zusammen eine Arbeits Geige – thatOneGuy
Hier eine Geige ist das Problem zu replizieren, klicken Sie auf ein paar Mal in „Add Node“ und dann in „Reset Graph“ https: // jsfiddle .net/vzes4h8y/ – RCRH89