【发布时间】:2015-08-13 20:48:50
【问题描述】:
我需要能够在圆圈包布局中绘制圆圈之间的链接,例如{source: i, target: j}。我已经看到一些关于如何将此布局与强制布局相结合的问题,这让我认为这可能是实现这一目标的一种方式,但我在这条道路上没有任何运气,而且我需要的是完全静态的东西。提前感谢您的任何建议。
【问题讨论】:
-
你能告诉我们你试过的代码吗?
标签: javascript d3.js
我需要能够在圆圈包布局中绘制圆圈之间的链接,例如{source: i, target: j}。我已经看到一些关于如何将此布局与强制布局相结合的问题,这让我认为这可能是实现这一目标的一种方式,但我在这条道路上没有任何运气,而且我需要的是完全静态的东西。提前感谢您的任何建议。
【问题讨论】:
标签: javascript d3.js
我终于可以通过将节点附加到 svg 并根据每条线要连接的节点的半径计算每条线的位置来在节点之间画线,但问题是我使用的包布局是可缩放的,所以当我尝试通过单击既不平移也不调整大小的线条进行缩放时(当然,因为没有执行此类操作的代码),所以我尝试为线条实现翻译功能,以便它们随着缩放一起移动,然后我看到要实现这一点需要一些严肃的几何图形,所以由于我是一个懒惰的程序员,而且对 d3 一点经验都没有,我试图用更简单的东西来......最后我决定表示之间的联系使用不同方法(没有线条)的节点,我使用了“鼠标悬停”事件,因此当指针悬停在节点上时,它将突出显示(更改圆形笔划属性颜色和宽度)连接到它的节点。这样我就实现了我的目标,并且视图看起来更干净,没有所有的线交叉(它们很多)。我知道有些人可能认为这不能回答最初的问题,我相信这可以由具有更多经验(以及时间和耐心)的人使用线条并实施正确的计算来实现,但就我而言,这个解决方案解决了我的问题,也许对其他人有帮助。
【讨论】: