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