b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

HTML5画布饼图

电脑杂谈  发布时间:2020-03-27 03:06:49  来源:网络整理

嘉华鲜花饼经典玫瑰图_canvas 饼图_canvas 饼 js代码

为便于声明,我将值移入数据对象数组中. 我将其他值(例如百分比)明确声明为数据对象的属性或单独的变量. 我认为它更易于阅读.

嘉华鲜花饼经典玫瑰图_canvas 饼图_canvas 饼 js代码

如果您对重构感兴趣,那么重构也使将值绑定到输入框更加容易.

canvas 饼图_嘉华鲜花饼经典玫瑰图_canvas 饼 js代码

  var data = [{
    label: "one",
    value: 100,
    color: 'white'
  }, {
    label: "two",
    value: 100,
    color: 'skyBlue'
  }, {
    label: "three",
    value: 100,
    color: 'yellow'
  }];
  var total = 0;
  for (obj of data) {
    total += obj.value;
  }
  var canvas = document.getElementById('myCanvas');
  var ctx = canvas.getContext('2d');
  var previousRadian;
  var middle = {
    x: canvas.width / 2,
    y: canvas.height / 2,
    radius: canvas.height / 2,
  };
  
   //background
  ctx.beginPath();
  ctx.arc(middle.x, middle.y, middle.radius, 0, 2 * Math.PI);
  ctx.closePath();
  ctx.stroke();
  ctx.fillStyle = "black";
  ctx.fill();
   //end of background
  for (obj of data) {
    previousRadian = previousRadian || 0;
    obj.percentage = parseInt((obj.value / total) * 100)
    
    ctx.beginPath();
    ctx.fillStyle = obj.color;
    obj.radian = (Math.PI * 2) * (obj.value / total);
    ctx.moveTo(middle.x, middle.y);
    //middle.radius - 2 is to add border between the background and the pie chart
    ctx.arc(middle.x, middle.y, middle.radius - 2, previousRadian, previousRadian + obj.radian, false);
    ctx.closePath();
    ctx.fill();
    ctx.save();
    ctx.translate(middle.x, middle.y);
    ctx.fillStyle = "black";
    ctx.font = middle.radius / 10 + "px Arial";
    ctx.rotate(previousRadian + obj.radian);
    var labelText = "'" + obj.label + "' " + obj.percentage  + "%";
    ctx.fillText(labelText, ctx.measureText(labelText).width / 2, 0);
    ctx.restore();
    previousRadian += obj.radian;
  }
<canvas id="myCanvas" width="500" height="500" ></canvas>

嘉华鲜花饼经典玫瑰图_canvas 饼图_canvas 饼 js代码

为便于声明,我将值移入数据对象数组中. 我将其他值(例如百分比)明确声明为数据对象的属性或单独的变量. 我认为它更易于阅读. 如果您对重构感兴趣canvas 饼图,则重构还使将值绑定到输入框变得更加容易. var data = [{{label: “ one”canvas 饼图,va ...


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-153675-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 程公许
        程公许

        你如果在伊拉克对美国说“关你鸟事”

      热点图片
      拼命载入中...