1

我刚开始使用 D3,我目前有一个具有 5 个不同中心的力布局,并且我的节点基于数据属性围绕每个中心进行引力。理想情况下,五个组中的每一个都具有相同数量的节点,因此它们显示为大致均匀宽度的列 - 类似于此示例中的橙色组http://bl.ocks.org/1021953(如果您让它运行尽管)。

然而,我的一些组有很多节点,而另一些则没有,这导致一些集群比其他集群宽得多。是否可以设置一个最大宽度,超过该宽度,任何节点都不会从其中心向左或向右漂移,同时仍然让节点在中心上方和下方更自由地漂移?

或者我可以通过在每个组之间放置一列不可见的节点来适当地排斥它们来伪造它吗?

任何帮助深表感谢!

4

1 回答 1

1

经过大量修改后,我发现通过将 alpha 乘以不同的数字,您可以独立控制左/右和上/下拉。

按照这个例子 (http://vallandingham.me/d3_without_svg.html) 将 setBubbleLocation 函数设置为类似这样

bubble.y = bubble.y + (center.y - bubble.y) * (0.115) * alpha*.5; //smaller alpha = looser
bubble.x = bubble.x + (center.x - bubble.x) * (0.115) * alpha*3; //bigger alpha = tighter
于 2012-07-03T04:30:54.227 回答