canvas 环形饼状图_canvas制作饼图和环形图,使用Excanvas兼容IE67

canvas

$.fn.extend({

pieChart:function(o){this.each(function(m, n){vartarget=$(n),

ratio=target.data('ratio').split('_'),

colors=o.colors,

ctx=n.getContext('2d'),

center=Math.floor(target.height()/2),//圆心

radius=center-(o.borderWidth|| 0),//半径

startAngle=Math.PI* 1.5,//起始弧度

endAngle=Math.PI* 1.5;//结束弧度

ctx.fillStyle=o.borderCorlor|| '#ffffff';

ctx.arc(center, center, center,0, Math.PI* 2,true);

ctx.fill();

$.each(ratio,function(i, v){

endAngle=endAngle-v*Math.PI* 2;//结束弧度

ctx.fillStyle=colors[i];

ctx.beginPath();

ctx.moveTo(center, center);//移动到到圆心

ctx.arc(center, center, radius, startAngle, endAngle,true);

ctx.closePath();

ctx.fill();if(o.stroke){

ctx.strokeStyle=o.stroke.color|| '#ffffff';

ctx.lineWidth=o.stroke.width|| 1;

ctx.stroke();

}

startAngle=endAngle;//设置起始弧度

});

});

},

doughnutChart:function(o){this.each(function(m, n){vartarget=$(n),

ratio=target.data('ratio').split('_'),

colors=o.colors,

ctx=n.getContext('2d'),

center=Math.floor(target.height()/2),

radius=center,

startAngle=Math.PI* 1.5,

endAngle=Math.PI* 1.5;

$.each(ratio,function(i, v){//弧度 = 角度 * Math.PI / 180

//v*360*Math.PI/180 = v * Math.PI * 2

endAngle=endAngle-v*Math.PI* 2;

ctx.fillStyle=colors[i];

ctx.beginPath();

ctx.moveTo(center, center);

ctx.arc(center, center, radius, startAngle, endAngle,true);

ctx.closePath();

ctx.fill();

startAngle=endAngle;

});

ctx.fillStyle=o.centerColor;

ctx.beginPath();

ctx.arc(center, center, radius-o.borderWidth,0, Math.PI* 2,true);

ctx.fill();

});

}

});

$(window).on('load',function(){

$('#pie').pieChart({

colors: ['#7cb228','#abd667','#ededed'],

borderWidth:2,

borderCorlor:'#7cb228'

//stroke: {

//color: '#ff0000',

//width: 2

//}

});

$('.doughnut').doughnutChart({

colors: ['#7cb228','#ededed'],

centerColor:'#ffffff',

borderWidth:10});

});

})(jQuery);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值