我有这个 plunker ( https://next.plnkr.co/edit/17t5ujwC71IK3PCi ),它显示了基于组 ID 分组在一起的节点的 d3 图。图表看起来很好,但我需要确保这些组永远不会相互重叠(如下所示,橙色、蓝色和浅蓝色是不同的组,但它们出现在彼此之上)。
拖动它们会导致图表无休止地移动(这是另一个问题),并且并不总是能解决重叠问题。我看到了另一个例子(http://bl.ocks.org/GerHobbelt/3071239),它好一点,但它是用 d3.v2 制作的。它在每个组之间有相当大的空间,这使得分析更容易。
我认为设置charge
为负值会起到神奇的作用,但将其设置为.force('charge', d3.forceManyBody().strength(-30))
根本没有帮助。
问题:
现在,尝试通过编写类似于我上面提到的 d3.v2 示例的代码来使组远离,但很难为我的 d3.v4 烹饪类似的东西。关于如何动态地使所有组彼此远离有什么好的建议吗?