d3 force-directed tree 在点击节点时显示 NaN
d3 force-directed tree shows NaN when clicking node
当我在本地运行这个例子时
http://bl.ocks.org/mbostock/1138500
如果我单击或尝试拖动一个节点,它会执行此操作。
为什么?
这 1,200 个错误指向这部分代码:
node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
似乎 x 和 y 没有得到正确的数据?
我尝试根据本文中的评论将 force.stop() 放在几个不同的地方,但到目前为止没有成功。
NaN on Force-Directed Layout Append in D3.js
谢谢。
排队不是问题。 解决方法是忽略最后两个链接导致的404错误,或者直接删除链接。
问题是因为 HTML 中有指向三个 JS 文件的链接,所以我认为这些是必需的。
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.29.1"></script>
后两个出现404错误,网上找了别的地方,从code.google.com那里复制过来,还是不行。幸运的是,我只是尝试删除链接并且成功了。
显然不需要最后两个链接,这就是 404 错误没有破坏它的原因。
然后我找到了这个页面:https://github.com/mbostock/d3/wiki/Upgrading-to-3.0
我没有注意到这是一个已有 4 年历史的示例,因此我没有想到旧链接是个问题。我现在看到 1.29.1 是 D3 的 v1 的指示。
当然,切换到当前版本也可以
https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js
当我在本地运行这个例子时
http://bl.ocks.org/mbostock/1138500
如果我单击或尝试拖动一个节点,它会执行此操作。
为什么?
这 1,200 个错误指向这部分代码:
node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
似乎 x 和 y 没有得到正确的数据?
我尝试根据本文中的评论将 force.stop() 放在几个不同的地方,但到目前为止没有成功。 NaN on Force-Directed Layout Append in D3.js
谢谢。
排队不是问题。 解决方法是忽略最后两个链接导致的404错误,或者直接删除链接。
问题是因为 HTML 中有指向三个 JS 文件的链接,所以我认为这些是必需的。
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.geom.js?1.29.1"></script>
<script type="text/javascript" src="http://mbostock.github.com/d3/d3.layout.js?1.29.1"></script>
后两个出现404错误,网上找了别的地方,从code.google.com那里复制过来,还是不行。幸运的是,我只是尝试删除链接并且成功了。
显然不需要最后两个链接,这就是 404 错误没有破坏它的原因。
然后我找到了这个页面:https://github.com/mbostock/d3/wiki/Upgrading-to-3.0
我没有注意到这是一个已有 4 年历史的示例,因此我没有想到旧链接是个问题。我现在看到 1.29.1 是 D3 的 v1 的指示。
当然,切换到当前版本也可以
https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js