我想知道是否有办法让D3力图形成特定的形状。这就是我的意思。这就是图表现在的样子。
我想要的是能够让节点形成如下形状:
所以我希望所有节点都在黑线内,形成这个形状。有没有办法在d3内做到这一点?
答案 0 :(得分:0)
不,你不能直接使用D3力布局。它不允许任何其他约束。您可以做的是在tick
处理函数中自行实施此布局:
force.on("tick", function() {
// iterate over all nodes, check if they're in a position they shouldn't be in
// if so, adjust the position
});
那就是说,在这种情况下你几乎肯定不需要力布局。正如评论中所建议的那样,沿着您想要的形状手动定位节点会更容易。同样,D3没有支持这样做。