D3JavaScript中力有向图中节点之间的链接

D3JavaScript中力有向图中节点之间的链接,javascript,graph,d3.js,Javascript,Graph,D3.js,我正在使用D3JavaScript开发一个基本上包含至少150个节点的图形。这个想法可以描述如下: 一个节点连接到100个节点。 这100个节点中的49个节点连接到其他49个节点 让我们澄清一下。我认识100个人。其中49人有生日。每个节点代表一个节点 通过这种方式,我可以通过Javascript中的一些数组,使用source和target将它们链接在一起。我想我在D3的力有向图中遗漏了一些非常重要的东西需要理解。据我所知,这些链接可以通过source和target实现。我的问题是我无法理解如何

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

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

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

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


非常感谢您的帮助

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

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


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

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

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


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

恐怕您需要在
jsfiddle
或其他具有模拟数据的地方发布您迄今为止尝试过的内容,以便我们能够指导您。问题是我有大量数据。我会尽力做到这一点。恐怕您需要在
jsfiddle
或其他地方发布您迄今为止尝试过的内容,并提供一些模拟数据,以便我们能够指导您。问题是我有大量数据。我会尽力做到的,拉尔斯。你的回答总是很有帮助的。实际上,我正在从JSON文件中检索数据并将它们放入数组中。在那之后,我将应用你在答案开头所解释的内容。同时,如果您能通读我的密码,我将不胜感激。我会尽量寄给你一个我的代码小样本。在这种情况下,您认为源和目标可以由我存储节点的数组的索引定义吗?!你的问题的答案几乎可以肯定是肯定的,但一旦我看到你的代码,我应该能够更明确地回答。我如何向你展示我的代码?有没有可能这样做?如果你不想在这里发布,你可以给我发一封电子邮件。我会这样做的。非常感谢你的支持,拉尔斯。我现在会按照你的回答,希望我能得到一些结果,然后通过电子邮件将files.Lars发送给你。你的回答总是很有帮助的。实际上,我正在从JSON文件中检索数据并将它们放入数组中。在那之后,我将应用你在答案开头所解释的内容。同时,如果您能通读我的密码,我将不胜感激。我会尽量寄给你一个我的代码小样本。在这种情况下,您认为源和目标可以由我存储节点的数组的索引定义吗?!你的问题的答案几乎可以肯定是肯定的,但一旦我看到你的代码,我应该能够更明确地回答。我如何向你展示我的代码?有没有可能这样做?如果你不想在这里发布,你可以给我发一封电子邮件。我会这样做的。非常感谢你的支持,拉尔斯。我会按照你的答案,希望我会得到一些结果,然后给你发电子邮件的文件。