2014-03-28 105 views
2

clustered nodes使用Mike Bostock示例,我試圖創建一種將新節點推送到羣的方法。將新節點添加到羣集力佈局

function addNode(){ 
    nodes.push({ 
    cluster: 2, 
    radius: 5, 
    x: Math.cos(3/4 * 2 * Math.PI) * 200 + width/2 + Math.random(), 
    y: Math.sin(5/4 * 2 * Math.PI) * 200 + height/2 + Math.random() 
    }); 
    console.log(nodes); 
    update(); 
} 

$('button').click(function(){ 
    addNode(); 
}) 

我創建使用集羣和半徑,但與X & Y爲隨機值相同的新節點。

這是fiddle,但它沒有按預期工作。

回答

2

就快,這只是一些小事情:

  • 你被「circle.node」在更新功能選擇,但是你有沒有分配「節點」類最初的圈子。
  • 您正在使用d.size來設置新圓的半徑,但不要設置d.size,而是設置d.radius
  • 您在.data()之後立即致電.style(...)並將結果保存爲新選擇。這混淆了進入和退出選擇。

最後,你沒有在你的小提琴中包含JQuery,所以按鈕不起作用。示例將所有這些問題修復爲here

+0

謝謝你清楚的路徑,拉爾斯。我弄錯了。我要記錄下這些信息,併爲我未來的新手更新小提琴。 – pixelbeat

相關問題