微信小程序 使用canvas画饼图



<canvas canvas-id="Canvas" style="width:100%;height:360px;"></canvas>

Javascript文件
Page({
  data: {
    
  },
  onLoad: function () { 
    var context = wx.createCanvasContext('Canvas');
    var array = [20, 50, 60];
    var colors = ["#228B22", "#008B8B","#ADFF2F"];
    var total = 0;
    for (var val = 0; val < array.length; val++) {
      total += array[val];
    }
    var point = { x: 160, y: 120 };
    var radius = 100;
    for (var i = 0; i < array.length; i++) {
      context.beginPath();
      var start = 0;
      if (i > 0) {
        for (var j = 0; j < i; j++) {
          start += array[j] / total * 2 * Math.PI;
        }
      }
      context.arc(point.x, point.y, radius, start, start+array[i] / total * 2 * Math.PI, false);
      context.setLineWidth(2)
      context.lineTo(point.x, point.y);
      context.setStrokeStyle('#F5F5F5');
      context.setFillStyle(colors[i]);
      context.fill();
      context.closePath();
      context.stroke();
    }
    context.draw();
  }
})
效果图
微信小程序 使用canvas画饼图