D3Javascript中的力定向图中节点之间的链接

The links between the nodes in Force-Directed Graph in D3 Javascript

本文关键字:节点 之间 链接 D3Javascript      更新时间:2023-09-26

我正在使用D3Javascript处理一个基本上包含至少150个节点的图。这个想法可以描述如下:

一个节点连接到100个节点。这100个节点中的49个节点连接到其他49个节点。

让我们澄清一下。我认识100个人。他们中有49个人过生日。每个节点表示一个节点。

通过这种方式,我可以通过Javascript中的一些数组使用sourcetarget将它们链接在一起。我想我在D3中的力有向图中遗漏了一些非常重要的东西。据我所知,这些链接可以用sourcetarget来实现。我的问题是我无法理解如何将这些链接链接到这些节点。我不知道我可以在什么基础上创建一个数组来保存我的名字、人们的名字和他们的生日,这样他们就可以连接在一起。在我的图表中,它给了我正确的人,但给了我错误的生日。有人能告诉我如何处理这件事吗。我正在学习本教程:我不明白如何创建一个数组来添加信息,例如:姓名、人名和生日。

http://bl.ocks.org/mbostock/4062045

非常感谢您的协助。

节点和链接的链接方式是通过索引进行的。也就是说,如果target: 0,则意味着该链接的目标节点是传递给部队布局的节点列表中的第一个节点。您可以向链接和节点添加所需的任何数据——对于链接,节点也可以通过link.sourcelink.target使用。

或者,您可以将链接的源和目标指定为对象本身——这实际上是D3在将链接传递到力布局时在内部执行的操作。由于它无法处理索引,因此它们被解析的节点对象所取代(这就是为什么您可以通过链接访问实际对象)。

如果您通过外部数据(例如JSON)指定图形结构,那么您应该使用索引来标识链接中的节点。如果您在Javascript中生成数据结构,则可以使用对实际对象的引用。