我正在玩D3
库,并有以下代码片段来设置节点的坐标:
node.enter().append("circle")
.attr("class", "node")
.attr("cx", function(d) {
return d.x;
})
.attr("cy", function(d) {
return d.y;
})
.attr("r", function(d) { return Math.sqrt(d.size) / 10; })
.style("fill", color)
.on("click", click)
.on('mouseover', tip.show)
.on('mouseout', tip.hide)
.call(force.drag);
我希望在父节点周围均匀分布子节点,以便最大化SVG空间的数据 - 尽管尝试调整"cy"
和"cx"
属性,这些节点当前也会聚集在一起通过"r"
属性增加单个节点的大小。
答案 0 :(得分:2)
要解决此问题,我更新了Force Layout
上的两个默认方法属性,即.linkDistance()和.linkCharge()
var force = d3.layout.force()
.linkDistance(80)
.charge(-500);
感谢@Mark提及Force Layout Documentation。