使用canvas绘制扇形图
来源:互联网 发布:asm算法步骤 编辑:程序博客网 时间:2024/05/01 13:11
<canvas> 标签定义图形,比如图表和其他图像, 必须使用脚本来绘制图形。
效果如图:
html代码:
<!DOCTYPE html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="canvasPie.js"></script><body> <canvas id="canvas_circle" width="300"height="600" ></canvas></body></html>
JavaScript代码:
function drawCircle(canvasId,data_arr,color_arr,text_arr){ var c=document.getElementById(canvasId); var ctx=c.getContext("2d");//图画绘制对象 var radius=c.width*0.5-20;//半径 var ox=radius+20,oy=radius+20;//圆心 var pwidth=30,pheight=10;//图例宽高 var posX=c.width*0.3,posY=c.width;//图例开始位置 var textX=posX+pwidth+5,textY=posY+10; //文字开始位置 //弧度 var startAngle=0;//开始 var endAngle=0;//结束 for(var i=0;i<data_arr.length;i++){ endAngle=endAngle+data_arr[i]*Math.PI*2; ctx.fillStyle=color_arr[i]; ctx.beginPath(); ctx.moveTo(ox,oy); ctx.arc(ox,oy,radius,startAngle,endAngle,false); ctx.closePath(); ctx.fill(); startAngle=endAngle; //绘制图例 ctx.fillStyle=color_arr[i]; ctx.fillRect(posX,posY+20*i,pwidth,pheight); //绘制文字 ctx.moveTo(posX,posY+20*i); ctx.font='bold 12px 微软雅黑'; ctx.fillStyle=color_arr[i]; var percent=text_arr[i]+":"+100*data_arr[i]+"%"; ctx.fillText(percent,textX,textY+20*i); }}function init(){ var data_arr=[0.1,0.25,0.6,0.05]; //各类的百分比 var color_arr=["#00FF21","#FFAA00","#00AABB","#FF4400"];//现实的颜色 var text_arr=["音频或视频播放器","笔记本电脑","智能手机","电视"];//分类 drawCircle("canvas_circle",data_arr,color_arr,text_arr);//调用函数}window.onload=init;
0 0
- 使用canvas绘制扇形图
- canvas绘画扇形图
- html5 canvas元素扇形的绘制
- UIBezierPath绘制扇形图
- JavaScript ---- Canvas扇形图封装
- 绘制扇形
- 使用canvas绘制股票图【envision.js】
- Android 使用Canvas绘制饼图
- 使用Canvas绘制网络设备拓扑图
- 使用canvas绘制时钟
- 使用Canvas绘制几何图形
- 使用Canvas绘制几何图形
- 使用canvas绘制时钟
- 使用canvas绘制几何图形
- 使用canvas绘制时钟
- 使用canvas 绘制时钟
- canvas绘制直线时颜色填不上去的问题及如何开始绘制扇形举例
- canvas 画图扇形
- C++构造函数初始化列表与赋值
- [SMOJ1783]移动信号
- JMeter目录及关键配置分析
- 循环赛日程表
- Java 接口与抽象类
- 使用canvas绘制扇形图
- Web开发&文件上传下载及编码解码
- MyEclipse
- eclipse mvn jetty 远程调试
- Father-Child
- 管道操作 | 输入输出重定向
- MessageFormat用法
- application/json 四种常见的 POST 提交数据方式
- 创建认证授权的docker私有仓库