javascript - 避免 D3 更新中的无效路径格式错误

标签 javascript d3.js

我在动态添加节点时遇到 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/

相关文章:

javascript - jQuery:焦点排除一些元素

javascript - chrome.alarms api 无法与 angularJS 正常工作

javascript - D3 通过 json 文件可视化网络数据(节点和链接)

d3.js - 如何将 csv 文件加载到 nuxt vue 组件中

javascript - d3.js 中的简单条形图

javascript - 如何使用 Angular.js/Javascript 为 url 添加输入字段验证

javascript - JQuery日期输入条件

javascript - 模拟 Tableau 的嵌入式悬停工具图

javascript - 我如何使用 mutationobserver 而不是突变事件?

javascript - 如何使用 wkhtmltopdf 在页眉/页脚 html 中进行页码编号?