D3.js D3具有拖放支持的力定向图,在拖放时使选定节点位置固定

D3.js D3具有拖放支持的力定向图,在拖放时使选定节点位置固定,d3.js,drag-and-drop,force-layout,D3.js,Drag And Drop,Force Layout,力直接图上的示例可在此处找到: 如何轻松添加对拖放的支持? 它应该将节点设置为“固定”,并将其放置在当前位置。 重要的是,其余节点仍使用“力定向模式”自动定位图中的其余节点 我已经玩了一段时间,但没有成功,我想知道是否有人能给我一个关于如何添加上述支持的快速示例。在发现使用连接到节点的两个“拖动”侦听器(您自己的和force.drag)进行斗争并不理想后,它终于开始工作了 最好只使用自己的“拖动”-侦听器并手动调用tick(),这是使力图为您在拖动的节点上的每个新节点位置上定位节点的关键功能

力直接图上的示例可在此处找到:

如何轻松添加对拖放的支持? 它应该将节点设置为“固定”,并将其放置在当前位置。 重要的是,其余节点仍使用“力定向模式”自动定位图中的其余节点


我已经玩了一段时间,但没有成功,我想知道是否有人能给我一个关于如何添加上述支持的快速示例。

在发现使用连接到节点的两个“拖动”侦听器(您自己的和force.drag)进行斗争并不理想后,它终于开始工作了

最好只使用自己的“拖动”-侦听器并手动调用tick(),这是使力图为您在拖动的节点上的每个新节点位置上定位节点的关键功能


工作示例:

请发布您目前所拥有的内容。如果它几乎可以正常工作,我很乐意发布。但最好以给出的例子为基础,因为这是我到目前为止得到的最接近的例子,也就是什么都没有。不管怎么说,我昨天一直在思考整个问题,并在研究一些想法。当我得到任何进展时,我会发布更新想法:修改原来的force.drag函数,使其在mouseover/mouseoutIt上完全不处理固定状态,因为它在FF中无法正确渲染。要拖动的节点不会出现。在Chrome中,节点处的图像用于断开的图像链接。@Spaceghost:已更新svg图像以立即使用github的favicon。在铬上可以很好地工作。当谈到FF时,我发现与Chrome相比,它在这些图形中的性能很差,因为force布局算法非常消耗资源。(使用iceweasel版本10.0.12进行测试(debian版本的firefox在debian中)。但在这一点上也会结巴:,所以我责备FF。也许在更新的版本中效果更好?仅供参考,在我的Macbook Pro上,当前版本的FF和Chrome上,Chrome看起来最好。FF看起来结巴。在将其设置为false后,如何在每个节点上重新启用力?例如,这一行d.fixed=true;在dragend(…)将不再排斥放置在顶部的其他节点。