动态添加节点时,d3树布局存在问题。
根据节点类型,我向该节点添加了路径符号,但是在更新时,我收到一条错误消息,提示“无效的路径格式”。
输入和更新都使用相同的代码:
nodeUpdate.select("path")
.attr("d", d3.svg.symbol().type(function(d)
{
return self.TypeToShape(d.Type);
})
.size(150))
.attr("transform", function(d)
{
var transform="translate(" + 2 + "," + -1 + ")"
if (d.Type==="e")
{
transform = transform+" rotate(30)";
}
return transform;
})
.style("fill", function(d){
return self.TypeToColour(d.Type);
});
Enter似乎不会引起问题,只能进行更新。
我是D3的新手,所以我想知道我是否在概念上错过了有关d3如何工作的某些概念,而这可能会导致这种情况。
请在此处查看小提琴:http : //jsfiddle.net/z15825qu/
问题在于您正在转换SVG符号,该符号会生成无效path
的。要解决此问题,只需不要过渡它们:
node.select("path")
.attr("d", d3.svg.symbol().type(function(d) {
return self.TypeToShape(d.Type);
})
这里完整的例子。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句