未捕获的TypeError:无法读取AngularJS和D3中未定义的属性'arc'

Rak*_*ysh 11 javascript svg d3.js angularjs

我是AngularJS和D3的新手.我正在使用这些技术构建仪表板.我已将d3.min.js文件包含在索引文件中并尝试使用它绘制一个循环.这是代码:

enter code here 
var svg = d3.select("body")
.append("svg")
.attr("width", 200)
.attr("height", 200)
.append("g")
.attr("transform", "translate(100,100)");

 var arc = d3.svg.arc()
 .innerRadius(50)
 .outerRadius(70)
 .startAngle(0)
 .endAngle(2 * Math.PI);

 svg.append("path")
 .attr("class", "arc")
 .attr("d", arc);
Run Code Online (Sandbox Code Playgroud)

但我一直在收到一个控制台消息:Uncaught TypeError:无法读取属性'arc'

我也尝试绘制条形图,但这次报告的错误是:未捕获的TypeError:无法读取属性'linear'

请帮忙

Ger*_*ado 31

在D3 v4.x中,语法已从:

d3.svg.arc();
Run Code Online (Sandbox Code Playgroud)

至:

d3.arc();
Run Code Online (Sandbox Code Playgroud)

以下是新API更改的链接:https://github.com/d3/d3/blob/master/CHANGES.md