2014-03-28 101 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

相关问题