有没有办法在 JavaScript 中构建交互式节点图?

Is there a way to build an interactive node graph in JavaScript?

我想在网页上构建交互式节点图,您可以在其中添加具有各种输入和输出的节点并将它们连接在一起。

这是我要执行的操作的示例:

我开始尝试使用 vis.js,但我不确定它是否能够执行上述操作。

如有任何建议,我们将不胜感激!

一般来说,这种宽泛的问题的形式是“是否有可能……?”在 Whosebug 上不受欢迎,但直接的答案是“是的,这是可能的”而且,vis.js 有一个 example of a manipulatable graph so I recommend you to read the manupulation methods docs and the manipulation module docs 描述了像 addNodeeditNode 这样的方法, deleteNode

但是,您应该注意,在 html (+js) 中,所有接口通常都在包含图的 canvas 之外实现,因为将它们放在 [=20= 中并不是一件容易的事] 并且,比如说,显示附加到所有节点。

对于那些(像我一样)试图找到用于创建交互式图形的 js 库的人,这里是列表:

点击图片以获得更好的质量。

react-flow | demo

vis-network | demo

DAG-ToDo | demo

flowy | demo

jsplumb | demo

react-diagrams | demo

butterfly | demo

Drawflow | demo