2013-07-10 71 views
0

我试图用d3js开发与节点定制深处塌陷集群树状图。我可以使节点出现在我想要的位置,但使用对角线在节点之间绘制的链接不会到达正确的位置。d3js集群布局树状图节​​点链接定制深处

这些链接会在那里,如果我没有在网上给他们一个自定义的深度(日期)66日的节点将是刚刚在JSON的一些属性,因为我是如何从顶部的像素会像节点一样。

.attr("transform", function(d) { return "translate(" + d.x + "," + d.date + ")"; }); 

当我尝试修改线92和93我在控制台得到一个错误是这样的: “问题解析d =” M0,C0,NaN的0,NaN的0 “”

var o = {x: source.x0, y: source.y}; 
    return diagonal({source: o, target: o}); 

我避免了一个树布局,以避免d3使用的整齐树自动布局,但是这是从树布局移植过来的,所以也许我没有那样做。任何想法我做错了什么?

下面是与例如小提琴:http://jsfiddle.net/lucastimmons/RQLh9/2/

回答

0

您使用的是.date属性来确定节点的y位置,所以你需要做同样的决定环节的开始/结束点。您可以修改对角线的投影也使用.date(如果它存在)来确定y位置:

var diagonal = d3.svg.diagonal() 
    .projection(function(d) { return [d.x, d.date ? +d.date : d.y]; }); 
+0

太谢谢你了。这工作。 – lucastimmons