//饼图 //dot 圆点 //r 半径 //data 数据(一维数组) function drawPie(dot, r, data){ if(data && data.length > 0){ var accumulationAngleOfSlope = new Number(0); //累计偏移角度 var total = new Number(0); var i = 0; for(;i<data.length;i++){ //计算data的合计 total += data[i]; } for(i = 0;i<data.length;i++){ var angle = new Number(360*data[i]/total).toFixed(3); //将data[i]/total转换为角度 //画一个扇形 drawSector(dot, r, new Number(angle), new Number(accumulationAngleOfSlope), true, Number(parseFloat(data[i]/total)*100).toFixed(3)+'%'); accumulationAngleOfSlope = accumulationAngleOfSlope+parseFloat(angle); //累计偏移角度 } } }