d3力导向布局中的神秘力量?

4
我试图通过使用力布局逐步组合两组节点来模拟某种临时饼图,这涉及到两组通过链接连接到两个固定、动画化的焦点节点。当它们结合时,包含大致相同数量的节点,效果良好。
请参见:http://bl.ocks.org/vicapow/6191895 然而,当节点组之间存在很大差异(比如1/100)时,较小节点组似乎会受到一些神秘的额外力量,使其远离较大节点组。
请参见:http://bl.ocks.org/vicapow/6191896 是否有人对这个额外力量的来源有任何想法?
我尝试了一些不起作用的方法: + 强制alpha保持为1 + 减少摩擦力

1
首先 - 我什么都不知道。说完这句话:它看起来并不像是拒绝或额外的力量。当你有一两个红色节点时,它们似乎不足以将自己强行推入蓝点中。 - Kobi
我本来也想向Kobi提到类似的事情 - 你能详细说明一下你所说的“神秘力量”是什么吗?我确实感觉第一个动画似乎比较慢,但这只是因为红色节点和蓝色节点需要分别定位,而不像第二个动画只有一个节点需要移开。 - aug
我提到的神秘力量是,在只有一个红色节点的第二个版本中,它似乎悬浮在蓝色节点上方很远的距离。这种效果在第一个版本中没有观察到,我正在尝试找出一些方法来消除它。我希望红点像第一个版本中那样被顶在蓝点旁边。所有节点都应用了相同的弹簧和电荷力,所以我想不出还有什么其他原因会导致这种行为。 - Victor Powell
更新:有趣的是,如果将节点链接到第一个焦点,力似乎会被正确应用。只有当孤立的节点连接到第二个焦点时,它才会比第一个焦点上的其他节点漂浮得更远。[请参见此示例](http://bl.ocks.org/vicapow/6244421) - Victor Powell
1个回答

0

我相信你所看到的是缺失的引力。没有引力,节点不会朝向屏幕中心聚拢。我通过设置force.gravity(1)和节点电荷为-100来得到你的边缘案例所需的结果。https://bl.ocks.org/david4096/6264697


那只是将所有节点压缩到中心。如果我想实现这个效果,我会将所有节点链接到单个焦点。或者更好的方法是,只需添加所有带有引力的节点,不必担心将节点链接到单个焦点。但是我要做的是将两组节点合并成一个大节点组,而不需要这种神秘的额外力量。 然后也许以后将这些节点组合成其他组。也许这更能说明我的意思。 [链接](http://bl.ocks.org/vicapow/6265529) - Victor Powell
也许这个可视化更好地说明了我为什么要首先这样做,并在动画结束时展示了节点组合时的问题。 - Victor Powell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接