D3 Javascript中Force-Directed Graph中节点之间的链接

时间:2013-11-21 19:34:44

标签: javascript graph d3.js

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

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

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

通过这种方式,我可以设法使用sourcetarget通过Javascript中的某些数组将它们链接在一起。我想我在D3中的Force-Directed Graph中缺少一些非常重要的东西。据我所知,这些链接可以使用sourcetarget来实现。我的问题是我无法理解如何将这些链接链接到这些节点。我不知道在什么基础上我可以创建一个数组来保存我的名字,人们的名字和他们的生日,以便他们可以链接在一起。在我的图表中,它给了我合适的人,但生日错了。任何人都可以指导我如何处理这件事。我正在学习本教程:并且无法理解如何创建一个数组来添加信息,例如:姓名,人名和生日。

  

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

非常感谢您的协助。

1 个答案:

答案 0 :(得分:4)

节点和链接的链接方式是索引。也就是说,如果target: 0,则表示该链接的目标节点是节点列表中的第一个节点,并传递给强制布局。您可以向链接和节点添加所需的任何数据 - 对于链接,节点也可通过link.sourcelink.target获得。

或者,您可以将链接的源和目标指定为对象本身 - 这实际上是D3在将链接传递给力布局时内部执行的操作。由于它无法与索引一起使用,因此它们将被解析的节点对象替换(这就是您可以通过链接访问实际对象的原因)。

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