突出显示d3树中的输出路径(决策树)

时间:2016-12-10 07:11:38

标签: d3.js path tree highlight

我在这里使用d3树示例处理决策树:Search collapse tree。在此示例中,用户可以搜索节点,并且将突出显示从根到所选节点的路径。但就我而言,当用户输入连接到输出节点的节点时,应突出显示从根节点到输出节点的路径。就像图片中所示:

enter image description here

我需要像图片中所示的那样处理树,但我的逻辑似乎不起作用。请查看我的FIDDLE。为了获得outputh路径,我添加了一个名为" searchPath"的方法。适用于点击功能"查找输出路径"按钮。 (在小提琴中,点击功能不起作用,不知道为什么。在普通的html页面中它起作用):

function searchPath(){

    var searchText = $("#newpath").val();
    //alert(searchText)
    var textspl = searchText.split(",");
    var path="";

    for(var i=0;i<textspl.length;i++){
        var paths= searchTree(treejson2,textspl[i],[]);
        fullpath.push(paths[Object.keys(paths).length-1]);
    }

    console.log("finally : ");
    console.log(fullpath);


    d3.selectAll("circle").filter(function(d) { 

        console.log("circle name "+d.name);

    });

    //return fullpath;
}

要根据路径选择圈子和链接元素,我添加了&#34; id&#34;属性到那些元素。对于circle,我给id作为d.name,对于链接我给id为d.source.name +&#34;:&#34; + d.target.name&#34;,以便轻松识别源节点和特定链接的目标节点。

但现在我仍然坚持使用代码,我没有任何想法或逻辑可以继续前进。

0 个答案:

没有答案