无法读取属性'力'未定义的(简单D3网络图)

Cannot read property 'force' of undefined (Simple D3 Network graph)

本文关键字:D3 简单 网络 读取 属性 未定义      更新时间:2023-09-26

我是D3和Javascript的新手,但通常只需复制基本的D3脚本并将数据转换为正确的格式即可进行可视化。我已经尝试了几个D3网络图,当我检查页面时,所有这些图都出现了相同的错误。

未捕获的类型错误:无法读取未定义的属性"force"。

如果您查看此处的脚本:http://bl.ocks.org/jose187/4733747我只是将它与相应的.json文件一起完全复制,并得到了上面的错误。它似乎认为d3.layout.force((是一个"匿名函数"。有什么想法吗?或者如何修复?非常感谢。

在d3 V4中,力布局d3.layout.force已重命名为d3.forceSimulation以及许多其他更改。

有关更多信息,请参阅此链接:D3 V4 Force

我也遇到过这个问题。问题是我使用的d3版本是版本4。当我使用d3版本3时,它可以正常工作。

您将不得不降级您的D3版本,因为版本3的d3.layout.force现在是版本4中的d3.layout.forceSimulation,正如已经回答的那样。

将此CDN用于D3版本3:

<script src="https://d3js.org/d3.v3.js"></script>

好吧,因为我已经在这里了,我也遇到了同样的问题,我的解决方案是降级到//d3js.org/d3.v3.js