标签:对象 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