Link to code (Plunker)d3 Kraft auf einem Knoten entfernen zugehörigen Kanten an der Graph
Bitte werfen Sie einen Blick zu entfernen. Es gibt zwei Kategorien in der Grafik - eine ist eine Nichtregierungsorganisation und eine andere ist die Academia.
Es gibt zwei Schaltflächen oben auf der Seite, die die Kategorie "Academia" darstellen, und eine andere, die Kategorie "NRO" zu repräsentieren.
Wenn ich auf die Schaltfläche "Nichtregierungsorganisation" klicke, werden alle NGO-Knoten und NGO-Kanten entfernt. Aber nicht der Rand, der die NGO mit der Academia verbindet!
Ich möchte die Funktionalität, wenn der Benutzer entweder Academia oder NGO klickt. Es muss alle damit verbundenen Kanten entfernen! ohne hängende Kanten! Bitte lassen Sie mich wissen, wie Sie diese Funktionalität erreichen können?
-Code, der das Umschalten durchführt,
$(".item").click(function() {
$(this).toggleClass("gray");
var text = $(this).find("text").text();
if($(this).hasClass("gray")){
d3.selectAll(".node")
.filter(function(d,i){
return d3.select(this).attr("data-type") == text;
})
.style("opacity", 0);
d3.selectAll(".link")
.filter(function(d,i){
return d3.select(this).attr("data-type") == text;
})
.style("opacity", 0);
}else {
d3.selectAll(".node")
.filter(function(d,i){
return d3.select(this).attr("data-type") == text;
})
.style("opacity", 1);
d3.selectAll(".link")
.filter(function(d,i){
return d3.select(this).attr("data-type") == text;
})
.style("opacity", 1).duration(1000);
}
});
Dank