画饼
来源:互联网 发布:如何卸载mysql数据库 编辑:程序博客网 时间:2024/05/17 09:48
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<canvas id="canvas" width="500", height="500">
您的浏览器不支持canvas,请升级最新的浏览器
</canvas>
</body>
<script>
let data = [
{value:0.2,color:'red',text:'小学生'},
{value:0.1,color:'yellow',text:'初中生'},
{value:0.3,color:'blue',text:'高中生'},
{value:0.4,color:'pink',text:'大学生'},
];
let canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');
let start = 0;// 开始位置在0弧度
let end = 0;
for (let i=0;i<data.length;i++){
/*
* 文字的弧度:所属扇形的开始+本身弧度的一半
* let textRadius = start + (end-start)/2
* // x = 圆心 + 半径/2 *Math.cos(文字的弧度)
* let x = 250 + 200 * Math.cos(textRadius);
* // x = 圆心 + 半径*Math.sin(文字的弧度)
* let y = 250 + 200 * Math.sin(textRadius);
*/
ctx.beginPath();
start = end; // 开始等于上一次结束的位置
end = start + Math.PI * 2 * data[i].value;
let textRadius = start + (end-start)/2;
let x = 250 + 100 * Math.cos(textRadius);
let y = 250 + 100 * Math.sin(textRadius);
ctx.moveTo(250, 250);// 移动原点到圆心位置
ctx.arc(250, 250, 200, start, end);
ctx.fillStyle = data[i].color;
ctx.fill();
ctx.font = '20px "微软雅黑"';
ctx.fillStyle = 'black';
ctx.textAlign = 'center';
ctx.canBaseline = 'top';
ctx.fillText(data[i].text, x, y);
ctx.closePath();
}
</script>
</html>
阅读全文
0 0
- 画饼
- 画饼图
- 画饼图
- 画饼状图一
- 画饼状图二
- 画饼状图三
- 画饼状图四
- 画饼图
- 画饼图
- asp.net画饼图
- Pie画饼图
- Flot画饼图
- asp.net画饼图
- 利用JqPlot画饼图
- 使用QPainter 画饼图
- 利用applet画饼图
- zedGraph画饼图
- iOS之画饼图
- maven 整合支付宝,导入alipay-sdk-java包到本地仓库
- BootStrap(2)——图片、辅助类、响应式工具、表单
- MySQL(二)yum源与rpm包方式安装
- 走进大前端:AngularJS 仿拉勾网 WebApp 开发移动端单页应用
- Oracle的常用SQL语句
- 画饼
- Httpclient介绍及使用
- 滚动条(2)
- CSDN开设博客专栏的方法
- 解决css中hover做遮盖罩闪动问题
- Windows socket通信出现接收数据时出现recv返回大于0,但缓冲区为大小为0的问题
- 7.3调用函数求最大值
- Dht11与Ds18b20温度传感器使用
- 通过金矿模型介绍动态规划