百度T7 课程 根据数据画饼图

// 画个6 等分的饼图
			window.onload = function(){
					var c1 = document.getElementById('c1')
					var ctx = c1.getContext('2d')
					var canvasWidth = ctx.canvas.width;
					var canvasHeigh = ctx.canvas.height;
					var num = 50;
					var everyRadian = 2* Math.PI /num;
					//  很简单啊, 一,根据数据,进行计算出百分比,然后
					var total = 0;
					var len = datas.length;
					datas.forEach(function(item,i){
						total +=item;
					})

					//  计算出每块所需要的大小:
					var radians = [];
					datas.forEach(function(item,i){
						// 百分比:
						var percent = item/total;
						radians.push(percent * 2 * Math.PI)	
					})

					// console.log(radians)
					//  然后就可以开画了,就这么简单
					
					var lastRadians = 0;

					ctx.moveTo(canvasWidth/2,canvasHeigh/2)
					for(let i = 0; i<len;i++){
						ctx.beginPath()
						ctx.moveTo(canvasWidth/2,canvasHeigh/2)
						ctx.fillStyle=getRandomColor()
						ctx.arc(canvasWidth/2,canvasHeigh/2,200,lastRadians,radians[i],true)
						ctx.fill()
						lastRadians +=radians[i];
					}



				}

 

画是画出来,可是有错啊,

有些时候我们出错了,这个时候,就考验调BUg 的能力了!

最终就是一个参数写错了

ctx.arc(canvasWidth/2,canvasHeigh/2,200,lastRadians,lastRadians + radians[i],false)	

大家可以调试看下,就是倒数第二个参数,到此饼状图初步就搞定了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值