2013-07-10 70 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