<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
div{width: 600px;height: 600px;margin: 0 auto;}
canvas{border: 1px solid red;}
</style>
</head>
<body>
<div>
<canvas width="600px" height="600px" id="pie"></canvas>
</div>
<script>
var timer = null;
clearInterval(timer);
timer = setInterval(function () {
var color = ["#c12e34", "#0098d9", "#e6b600", "#2b821d", "#005eaa", "#339ca8", "#cda819", "#32a487"];
var arr = [Math.random()*10,Math.random()*10,Math.random()*10,Math.random()*10,Math.random()*10,Math.random()*10,];
var canvas = document.getElementById("pie");
var ctx = canvas.getContext("2d");
var sum = getSum(arr);
function getSum(val){ //求和
return eval(val.join("+"));
}
var startCycle = 0;
ctx.clearRect(0,0,canvas.width,canvas.height); //在给定的矩形内清除给定的像素(x轴,y轴,需要清除的宽度,需要清除的高度)
for(var i=0;i<arr.length;i++){
var cycle = arr[i]/sum*2*Math.PI;
var endCycle = cycle+startCycle;
ctx.beginPath(); //起始一条路径,或重置当前路径
ctx.strokeStyle=color[i]; //设置或返回用于笔触的颜色,渐变或模式
ctx.lineWidth=arr[i]/sum*350; //设置或返回当前的线条宽度
ctx.arc(canvas.width/2,canvas.height/2,ctx.lineWidth/2+80,startCycle,endCycle,false); //创建弧、曲线(经常用于创建圆形或半圆)[x轴,y轴,半径,起始角度,结束角度,是否逆时针]
ctx.stroke(); //绘制已经定义的路径
startCycle = endCycle;
}
},1000);
</script>
</body>
</html>
饼图
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今天突然遇到在我的mac 电脑浏览器 饼图效果如下图1 未修改前代码 在看文档中找到一个属性 minAngle 最...
- 一 饼图 饼图用于明确某个网站分析指标所占整体的比例。如下图。 图示:各浏览器所占的比例很清楚,一看就知道谁是老大...
- HXChart是我自己写的一个简易图表框架包括:折线图,饼图,进度图 集成方式:gitHub:这是下载地址[htt...