是否可以在d3中将一个(或多个)布局嵌套在另一个(不同)布局中?

时间:2013-04-08 21:35:24

标签: javascript layout d3.js

我正在尝试构建一个强制定向的布局,其中连接的节点有自己的内部布局,这不仅仅是一个递归的力导向布局(我相信,这可以通过层次结构布局实现)。 “内部”布局是自定义的,但是,为了说明,我想说我希望内部的节点具有分区布局。这可能吗?

1 个答案:

答案 0 :(得分:1)

我的问题非常双重:

  1. 你可以用D3以合理的方式实现多种布局风格(例如,气泡图里面强制导向图),或者D3是错误的工具一件事,
  2. 您可以为每个布局使用D3布局,还是必须自定义一切。
  3. 最后,设计发生了变化,不再需要这种奇怪的场景。但是,我更熟悉D3,我想我可以回答。

    是。可以办到。每个布局都是它自己的离散对象,它有自己的数据可以工作,并且可以给它自己的DOM元素来填充。创建两个甚至共享相同数据和DOM输出的布局可能会起作用,如果您可以管理两者之间的交互(确保在需要时仅覆盖另一个的更改)。

    我知道你可以确实做的是手动操作D3正在做的任何。实际上,在开发过程中的某个时刻,我确实在同一页面上有两个布局,开始考虑它。我用预先确定的x / y坐标布置了一半图形,并允许其余部分由力导向布局布局。第一组,手动放置的节点,可以通过除预定坐标之外的其他逻辑放置,并且功能大致相同。