避免无效路径格式错误在D3更新
Avoiding Invalid Path format error in D3 updates
我在动态添加节点时遇到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如何工作的概念,可能会导致这种情况。
请参阅此处:http://jsfiddle.net/z15825qu/
问题是您正在转换SVG符号,这会生成无效的path
。要解决这个问题,只需不要转换它们:
node.select("path")
.attr("d", d3.svg.symbol().type(function(d) {
return self.TypeToShape(d.Type);
})
相关文章:
- D3-更新时元素数量正确,但值错误
- 如何使用d3更新/覆盖地图和图例内容
- 单击按钮时触发 D3 更新模式
- 使用d3更新具有x轴时间线的图表上的各种长度的条形图数据
- 尝试使用d3更新rects时出错
- 使用d3更新我的barchart时出错
- D3更新图表
- D3更新框图上的数据,而不首先删除以前的SVG
- D3更新数据和更新图形
- D3更新DOM,但没有显示
- 避免无效路径格式错误在D3更新
- D3更新数据,但不更新轴
- 如何使用D3更新热图中的文本
- D3更新/重新绘制SVG设置间隔
- 如何使用d3更新选择来绘制稀疏矩阵
- d3更新数据从GUI(圆包布局)
- 使用d3更新值
- D3更新数据集,点击并重新绘制条形图
- d3:更新数据集不更新DOM
- 通过 d3 更新传单上的 json