Ich habe nach einer Methode gesucht, um den Wurzelknoten von meinem radialen Tilford Baum zu entfernen, aber bisher kein Glück. Ich fand eine ähnliche Frage here, aber die Antwort ist nicht spezifisch genug, um vollständig zu verstehen, wo ich d.depth > 0
verwenden muss. Ich habe versucht, diese Codezeile an Orten hinzuzufügen, die Sinn ergaben, aber nicht erfolgreich waren (z. B. node.append und .data (nodes)). Snippet Attached ist ähnlich dem Ort, den Benutzer @JSBob in der anderen Frage bezog, jede Richtung wäre hilfreich, da ich neu bei D3 bin!Radial Reingold Tilford Tree Wurzelknoten entfernen
function createVisualization(root){
//if (error) throw error;
drawLegend();
var nodes = tree.nodes(root),
links = tree.links(nodes);
console.log(nodes);
var link = svg.selectAll(".link")
.data(links)
.enter().append("path")
.attr("class", "link")
.attr("d", diagonal);
var node = svg.selectAll(".node")
.data(nodes)
.enter().append("g")
.attr("class", "node")
.attr("transform", function(d) {
return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; })
.on("mouseover", mouseOverArc)
.on("mousemove", mouseMoveArc)
.on("mouseout", mouseOutArc);
node.append("circle").attr("r", 5)
.style("fill", function(d) {
if(d.size == 0) {
return "#8c6226"; //Brown
} else if(d.size == 1){
return "#DC143C"; //Crimson
} else if(d.size == 2){
return "#FFA500"; //Orange
} else if(d.size == 3){
return "#32CD32"; //LimeGree
} else if(d.size == 4){
return "#1E90FF"; //DodgerBlue
}
;})
Ah, mir war die Filterfunktion nicht bekannt. Das war sehr hilfreich, Danke Tim! Follow-up-Frage, jetzt, wo ich alle Knoten größer als Tiefe = 0 anzeigen, ist es möglich, requirre meine Tiefe = 1 Knoten? Ich habe versucht, die Transformationswerte ohne Erfolg anzupassen. – Das
Sie möchten alle Knoten mit einer Tiefe von 1 zusammenführen? –