是否可以创建具有多个边缘端口的 d3 节点?

Is it possible to create d3 nodes with multiple edge ports?

我想使用 d3 实现类似于此图的效果:

https://gojs.net/latest/samples/records.html

我试图在网上查找它,但几乎找不到任何入门资源。

我是 d3 的新手,所以我不知道如何完成这项任务,我们将不胜感激任何帮助或指导!

这是人们需要实现复杂图表可视化的另一个问题,他们认为只是因为 D3 非常适合可视化,所以它非常适合。

恕我直言,不是

D3 可能是解决方案的一部分,但肯定不能单独作为解决方案:这几乎就像在问 JavaScript 是否可以用来创建这种图表。当然可以! D3 只是 DOM+JavaScript 之上的一个非常薄(但非常有用)的层,可以帮助您处理数字、处理颜色、坐标系、创建 DOM 元素,并简化了 DOM 的工作。把它想象成 jquery for DOM 和数据 plus 很多非常好的演示。但价值往往体现在演示中,而不是 D3 本身:您需要实现 很多 的东西,才能从数据到 dom 元素的简单映射中获得像您所指的那样的复杂图表可视化。

如果您不想自己实现和维护大部分低级图表逻辑,您应该查看图表解决方案,而不是可以帮助您用更少的代码优雅地创建 SVG 元素的工具.

如果您的要求更复杂,请查看 this question to see a list of graph and diagram visualization software. Agreed, D3 is also on this list (for the same reason you are asking this question), but there are also far more capable tools on that list that you should be looking at, my recommendation being either the one that you've found already or preferrably this one