我刚刚开始使用D3而且我目前拥有一个具有5个不同中心的力布局,并且我的节点基于数据属性围绕每个中心。理想情况下,五个组中的每一个都具有相同数量的节点,因此它们显示为大致均匀宽度的列 - 类似于此示例中的橙色组http://bl.ocks.org/1021953(如果让它运行一段时间)。
我的一些组有很多节点,有些没有节点,这导致一些集群比其他集群宽得多。是否有可能设置一个最大宽度,超过该最大宽度,任何节点都不会向其中心的左侧或右侧漂移,同时仍让节点在中心上下自由漂移?
或者我可以通过在每个组之间放置不可见节点的列来伪造它以适当地排斥它们吗?
非常感谢任何帮助!
答案 0 :(得分: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