我在使用lib d3和javascript的情况下开发了一个应用程序网站,该网站显示带有节点的图形。 我实现了一个搜索栏,它一直都无法正常运行。 有时它无法从节点中恢复位置。 我有一个错误:
Error: <line> attribute x1: Expected length, "NaN"
Error: <line> attribute y1: Expected length, "NaN".
Error: <line> attribute x2: Expected length, "NaN".
Error: <line> attribute y2: Expected length, "NaN".
Error: <g> attribute transform: Expected number, "translate(NaN,NaN)".
,节点停留在窗口的一角。 我指定何时使用搜索栏,并通过搜索删除新图表的实际图形。
myWidget.svg = myWidget.d3.select(myWidget.homeViewWrapper)
.append("svg")
.attr("width", myWidget.width)
.attr("height", myWidget.height)
.append("g")
//TODO zoom !
.attr("transform", "translate(" + 0 + "," + 0 + ")")
.append("g")
.attr("transform", "translate("+ 0 +","+ 0+ ")")
.attr("class", "container")
.call(chart);
myWidget.homeViewWrapper.inject(widget.body);
myWidget.links.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;})
myWidget.node.attr("cx", function(d) { return d.x = Math.max(myWidget.status_radius, Math.min(myWidget.width - myWidget.status_radius, d.x)); })
.attr("cy", function(d) { return d.y = Math.max(myWidget.status_radius, Math.min(myWidget.height - myWidget.status_radius, d.y));});
myWidget.node.attr("transform", function(d){return "translate(" + d.x + "," + d.y + ")";});