Graph D3.js强制布局:如何隔离节点组?
我想要达到的目标是什么? 我希望有一组节点,在一个树状结构中,每个根要么是主根,要么是另一棵树的叶子的后代 生成下面看到的内容很容易,但我真正希望看到的是围绕每个根的完整圆。但是,由于节点相互排斥,每个簇之间存在以下间隙。我假设解决方案包括忽略来自不同根的叶子之间的电荷引起的排斥 我的想法Graph D3.js强制布局:如何隔离节点组?,graph,d3.js,simulation,data-visualization,force-layout,Graph,D3.js,Simulation,Data Visualization,Force Layout,我想要达到的目标是什么? 我希望有一组节点,在一个树状结构中,每个根要么是主根,要么是另一棵树的叶子的后代 生成下面看到的内容很容易,但我真正希望看到的是围绕每个根的完整圆。但是,由于节点相互排斥,每个簇之间存在以下间隙。我假设解决方案包括忽略来自不同根的叶子之间的电荷引起的排斥 我的想法 在每个根周围设置某种半径,使其在半径以外的所有方向上排斥其他节点,从而使叶子在其中呈圆形 使用LinkDistance和LinkStrength以某种方式安排集群,使它们不会显著交互 这可能吗? 除了我
- 在每个根周围设置某种半径,使其在半径以外的所有方向上排斥其他节点,从而使叶子在其中呈圆形
- 使用LinkDistance和LinkStrength以某种方式安排集群,使它们不会显著交互
"All nodes are assumed to be infinitesimal points with equal charge and mass."
如果这句话是真的,你们中的一个能给我指引正确的方向吗?我不确定你们会怎么做,但我发现了一个例子,集群内部只有电荷,节点不与不同的节点交互:我想答案的开始可能是这个堆栈溢出问题, 要知道,使每个节点的电荷依赖于相同的属性是可能的。 用类似的东西试试看
.charge(function(d) { console.log(d); //you'll see this brings up the nodes
if (d.something == onething) {
return -1300;}
else {
return -100; }
})
正如链接到答案中提到的,您几乎肯定必须尝试“摩擦”和“链接距离”。不要害怕尝试和错误——至少我已经断断续续地处理这类问题几个月了,还没有找到“通用”解决方案 拖动气泡以查看其作用