Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 扩展d3js层次树表示拓扑_Javascript_Html_D3.js - Fatal编程技术网

Javascript 扩展d3js层次树表示拓扑

Javascript 扩展d3js层次树表示拓扑,javascript,html,d3.js,Javascript,Html,D3.js,我们希望使用d3js层次树来表示拓扑。 我们正在寻找的功能包括: 点对点链接 双亲子女 表示为直线而不是默认曲线的两个对象之间的链接 默认情况下不支持这些功能,是否有人修改了D3js代码以支持上述功能?或者是否知道任何可以使用的包装器库 任何其他支持上述功能的库的建议也会有所帮助 附加参考图像 JSIDLE链接: 我需要在A型节点和B型节点之间画一条边,这两个节点处于同一级别这里已经回答了: 唯一的区别是处理X和Y位置的方式。你必须申报: var line = d3.svg.line()

我们希望使用d3js层次树来表示拓扑。 我们正在寻找的功能包括:

  • 点对点链接
  • 双亲子女
  • 表示为直线而不是默认曲线的两个对象之间的链接
  • 默认情况下不支持这些功能,是否有人修改了D3js代码以支持上述功能?或者是否知道任何可以使用的包装器库

    任何其他支持上述功能的库的建议也会有所帮助

    附加参考图像

    JSIDLE链接:


    我需要在A型节点和B型节点之间画一条边,这两个节点处于同一级别

    这里已经回答了:

    唯一的区别是处理X和Y位置的方式。你必须申报:

    var line = d3.svg.line()
                     .x( function(point) { return point.ly; })
                     .y( function(point) { return point.lx; });
    
    function lineData(d){
        var points = [
            {lx: d.source.x, ly: d.source.y},
            {lx: d.target.x, ly: d.target.y}
        ];
        return line(points);
    }
    
    请注意
    函数声明中X和Y的倒置。
    然后在你的代码中(在
    attr('d')
    调用中)而不是使用
    diagonal
    只使用
    lineData

    可能就适合了。只需我的2美分-不要修改代码,如果可能的话可以扩展它。请附上你所做的事情。这可能会有帮助。对我来说,这听起来更像是一个图表,而不是一棵树。也许看看一些力定向图的例子?试着这样做(基于)。树的定义是分层的,最好使用force布局来表示此图。
    var line = d3.svg.line()
                     .x( function(point) { return point.ly; })
                     .y( function(point) { return point.lx; });
    
    function lineData(d){
        var points = [
            {lx: d.source.x, ly: d.source.y},
            {lx: d.target.x, ly: d.target.y}
        ];
        return line(points);
    }