我正在尝试使用以下示例绘制Zoomable SUnburst图表:https://vizhub.com/undefined/7babe7cceb394cd1bc93157a29f8c161
该代码在普通js中运行,但是当我尝试将其导入Angular时,它将引发以下错误:
错误TypeError:“ svg.selectAll(...)。data(...)。join不是函数”
行抛出错误是:
const path = svg.selectAll('path')
.data(root.descendants().slice(1))
.join('path')
.attr('fill', d => {
while (d.depth > 1) { d = d.parent; }
return color(d.data.name);
})
.attr('fill-opacity', d => arcVisible(d.current) ? (d.children ? 0.6 : 0.4) : 0)
.attr('d', d => arc(d.current));
我尝试将类添加到svg元素,但这无济于事。删除它不会呈现图形,并且每个联接都会引发错误。此外,已更新为最新的d3,但无济于事 角版本为6。
控制台日志
g.append('g')
.selectAll('path')
.data(root.descendants().slice(1))
答案 0 :(得分:1)
将join('path')
替换为enter().append('path')
答案 1 :(得分:0)
我有同样的问题。我通过升级到最新的d3版本(从5.x到5.16)修复了它。