我是D3和Javascript的新手,但通常只是复制基本的D3脚本并将我的数据转换为可视化工作的正确格式。我已经尝试了几个D3网络图,并且当我检查页面时,所有这些图都出现了相同的错误。
未捕获的TypeError:无法读取属性'强制'未定义的。
如果您在此处查看脚本:http://bl.ocks.org/jose187/4733747 我只是将它与相应的.json文件一起完全复制并得到上述错误。似乎认为d3.layout.force()是一个"匿名函数"。有什么想法发生了什么?或者如何解决?谢谢!
答案 0 :(得分:12)
在许多其他更改中,力布局d3.layout.force已在D3 V4中重命名为d3.forceSimulation。
有关详细信息,请参阅此链接:D3 V4 Force
答案 1 :(得分:3)
我也遇到过这个问题。问题是我使用的d3版本是版本4.当我使用d3版本3时它运行正常。
答案 2 :(得分:1)
好的,既然我已经在这里而且遇到了同样的问题,我的解决方案就是降级到//d3js.org/d3.v3.js
答案 3 :(得分:1)
您必须降级您的D3版本,因为版本3中的版本3 d3.layout.force
现在是d3.layout.forceSimulation
已经回答了。
将此CDN用于D3版本3:
<script src="https://d3js.org/d3.v3.js"></script>