2014-02-19 162 views
1

我正在做強制佈局,在事件點擊我添加新節點並按行連接。但是 行重疊節點。爲什麼?我的代碼被示http://jsfiddle.net/WRGtL/D3 js線重疊節點

function click(d) { 
    if (d3.event.defaultPrevented) return; // ignore drag 
    //alert("clicked"); 
    var d = {id:"d"}; 
    nodes.push(nodeId[index]); 
    if(index==0) 
    links.push({source: a, target: nodeId[index]}); 
     else 
     links.push({source: nodes[1], target: nodeId[index]}); 
    index++; 
    start(); 
} 

回答

4

在SVG中,Z order of elements is the order they appear in the file。將所有線條顯示在圓圈下方的最簡單方法是將所有線條和所有圓圈分組在自己的組中,並讓這些組定義Z順序。

我只是簡單地添加兩組linksGnodesG,該元素將被創建:

var linkG = svg.append("g"), 
    nodeG = svg.append("g"); 

var node = nodeG.selectAll(".node"), 
    link = linkG.selectAll(".link"); 

看到JSFiddle的演示。

編輯:忘了保存小提琴。鏈接固定。

+0

很好。我接受了你的答案。謝謝! –