用于显示直接非循环图(DAG)的JS库

nh2*_*nh2 12 javascript graph-layout

我正在尝试创建一个基于浏览器的工具,让您检查依赖图,因为它们出现在编程语言和Makefile的模块系统中.

我正在寻找一个可视化框架,为我绘制图纸.

要求是工具包可以

  • 标签节点(希望是边缘)
  • 鉴于我有无限空间(滚动条很好),自动将图形分隔到正确的尺寸(我不必猜测好尺寸)
  • 很好地布局图形,使它看起来不那么混乱
  • 没有<= 5000个节点
  • 仅使用JS运行(无Flash或桌面应用程序)

可选地,如果它可以很容易地移动节点并突出显示或隐藏图形的某些部分以便更好地概览,那将是很好的.

使用支持的内容并不重要(SVG,画布,一切都很好).

到目前为止,我已经查看了很多库(尤其是JavaScript中的Graph可视化库),但还没找到合适的:

  • d3很不错,但它提供的唯一节点图是力图,它专注于实时物理.加载后,您必须等待并观察物理引擎的稳定性.我不需要动画也不需要力量,并希望立即显示图表.
  • GraphDracula例子几乎就是我想要的,但已经有70个节点和400个边缘,绘图性能变得非常糟糕.它也只有很少的文档(35行代码示例).

你知道什么符合我的要求吗?谢谢!

web*_*dev 1

Dagre 对于图形布局(水平/垂直对齐、标签等)效果非​​常好,并且具有 D3 渲染器。

https://github.com/cpettitt/dagre-d3(检查最后的图像)

https://github.com/cpettitt/dagre

  • cytoscape.js 也可以使用 dagre 布局库。参见http://js.cytoscape.org/demos/e52c2fbc0b09edd6ec46/ (3认同)