我在动态添加节点时遇到 d3 树布局问题。
根据节点类型,我向节点添加了一个路径符号,但是在更新时我收到一条错误消息“无效的路径格式”。
Enter 和 update 使用相同的代码:
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);
});
输入似乎没有引起问题,只有更新。
我是 D3 的新手,所以我想知道我是否在概念上遗漏了有关 d3 工作原理的某些可能导致此问题的内容。
在这里查看 fiddle :http://jsfiddle.net/z15825qu/
最佳答案
问题是您正在转换 SVG 符号,这会生成无效的 path
。要修复,只需不要转换它们:
node.select("path")
.attr("d", d3.svg.symbol().type(function(d) {
return self.TypeToShape(d.Type);
})
完整示例 here .
关于javascript - 避免 D3 更新中的无效路径格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32970311/