我试图让 d3.forceRadial() 在它们各自的父节点周围分层分布节点,但是当我在力上设置 x 和 y 参数时,所有节点都朝右下角射出,并且 x 和 y 值结束上万..
我的代码如下所示:
let simulation = d3.forceSimulation()
.force('radial', d3.forceRadial((d) => (d.distance * 100))
.x((d) => ((d.parent && !isNaN(d.parent.x)) ? d.parent.x + d.parent.vx : 0))
.y((d) => ((d.parent && !isNaN(d.parent.y)) ? d.parent.y + d.parent.vy : 0))
.strength(3))
.force('link', d3.forceLink().id((d) => (d.entity_id)).strength(0))
.nodes(data.nodes);
其中 parent 是对父节点的引用,d.distance 是距根节点的步数。我已经尝试将所有节点的 x 和 y 预先设置为 0 但无济于事..