Я искал метод удаления корневого узла из моего радиального дерева Тилфорда, но пока не повезло. Я нашел аналогичный вопрос here, но предоставленный ответ не является достаточно конкретным, чтобы полностью понять, где мне нужно использовать d.depth > 0
. Я попытался добавить эту строку кода в местах, которые имели смысл, но не были успешными (например, node.append и .data (узлы)). прикрепленный фрагмент аналогичен местоположению пользователя @JSBob, ссылаясь на другой вопрос, любое направление было бы полезно, поскольку я новичок в D3!Radial Reingold Tilford Дерево удалить корневой узел
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
}
;})
А, я не знал о функции фильтра. Это было очень полезно, спасибо Тиму! Последующий вопрос, теперь, когда я показываю все узлы, большие, чем depth = 0, возможно, что в последнее время мой узел depth = 1? Я попытался настроить значения преобразования без везения. – Das
Вы хотите объединить весь узел с глубиной 1? –