绘制到d3圆包布局的链接

时间:2015-08-13 20:48:51

标签: javascript d3.js

我需要能够在圆形包布局中绘制圆圈之间的链接,例如{source: i, target: j}。我已经看到了一些关于如何将这种布局与力布局相结合的问题,这让我觉得它可能是实现这一目标的一种方法,但我在这条道路上没有任何运气,我所需要的也是完全静态的东西。提前感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

我终于可以通过将节点附加到svg并根据每条线要连接的节点的半径计算每个线位置来绘制节点之间的线,但问题是我使用的包布局是可缩放的,所以当我尝试通过点击线条进行缩放既不翻译也不重新调整大小(当然,因为没有代码执行这样的事情),所以我尝试为这些行实现翻译功能,以便它们随之移动变焦,然后我看到它需要一些严肃的几何来实现这一点,所以既然我是懒惰的程序员而且根本没有经历过d3,我试着带来更简单的东西......最后我决定代表使用不同方法(没有行)的节点之间的链接,我使用" mouseover"事件因此当指针在节点上时,它将突出显示(改变了圆形笔划属性的颜色和宽度)连接到它的节点。通过这种方式,我实现了我的目标,并且视图看起来更清晰,没有所有线条越过它(它们很多)。我知道有些人可能认为这不能回答原来的问题,而且我确信这可以通过使用线路和实施正确计算的经验(和时间和耐心)的人来实现,但就我而言这个解决方案解决了我的问题,也许对其他人有帮助。