标签:对象 list 返回值 img 属性 绘制 作图 out info
1 var width = 800;
2 var height = 600;
3
4 var svg = d3.select("#body")
5 .append("svg")
6 .attr("width",width)
7 .attr("height",height)
8
9 //定义一个对象
10 var dataList = {startAngle:0,endAngle:Math.PI * 0.75};
11
12 //创建一个弧生成器
13 var arcPath = d3.svg.arc()
14 .innerRadius(50)
15 .outerRadius(100)
16 //添加路径
17 svg.append("path")
18 .attr("d",arcPath(dataList))
19 .attr("transform","translate(250,200)")
20 .attr("stroke","black")
21 .attr("stroke-width","3px")
22 .attr("fill","yellow")
1 //定义一个对象
2 var dataList = [
3 {startAngle : 0 , endAngle : Math.PI * 0.6},
4 {startAngle : Math.PI * 0.6 , endAngle : Math.PI},
5 {startAngle : Math.PI , endAngle : Math.PI * 1.7},
6 {startAngle : Math.PI * 1.7 , endAngle : Math.PI * 2}
7 ]
1 //创建一个弧生成器
2 var arcPath = d3.svg.arc()
3 .innerRadius(0)
4 .outerRadius(100)
5
6 //定义颜色
7 var color = d3.scale.category10();
8
9
10 //插入足够数量的路径元素<path>,分别用弧生成器计算路径
11 svg.selectAll("path")
12 .data(dataList)
13 .enter()
14 .append("path")
15 .attr("d",function(d){return arcPath(d)})
16 .attr("transform","translate(250,250)")
17 .attr("stroke","black")
18 .attr("stroke-width","3px")
19 .attr("fill",function(d,i){return color(i)})
1 svg.selectAll("text")
2 .data(dataList)
3 .enter()
4 .append("text")
5 .attr("transform",function(d){
6 return "translate(250,250)"+"translate("+arcPath.centroid(d)+")" //计算弧的中心位置
7 })
8 .attr("text-anchor","middle")
9 .attr("fill","white")
10 .attr("font-size","18px")
11 .text(function(d){
12 return Math.floor((d.endAngle - d.startAngle)*180/Math.PI)+"°"
13 })
标签:对象 list 返回值 img 属性 绘制 作图 out info
原文地址:https://www.cnblogs.com/littleSpill/p/10859424.html