使用clustered nodes的Mike Bostock示例,我试图创建一种将新节点推送到flock的方法。
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和amp;的随机值。收率
这是fiddle,但它没有按预期工作。
答案 0 :(得分:2)
你几乎就在那里,它只是一些小事:
d.size
设置新圈子的半径,但不要设置d.size
,而是d.radius
。.style(...)
之后立即呼叫.data()
并将结果保存为新选择。这会混淆进入和退出选择。最后,你没有把JQuery包含在你的小提琴中,所以按钮不起作用。示例将解决所有这些问题here。