域名跟网站的区别,企业网站建设珠海,网站侧栏设计,网页设计蛋糕图片素材Html5提供了强大的绘图API#xff0c;让我们能够使用javascript轻松绘制各种图形。本文将主要讲解使用HTML5绘制饼图(统计图)的方法。先看一下饼图效果#xff1a;这个图是动态生成的#xff0c;根据传入的比例参数(数组)#xff0c;来动态绘制饼图。饼图的大小也是根据高度…Html5提供了强大的绘图API让我们能够使用javascript轻松绘制各种图形。本文将主要讲解使用HTML5绘制饼图(统计图)的方法。先看一下饼图效果这个图是动态生成的根据传入的比例参数(数组)来动态绘制饼图。饼图的大小也是根据高度来动态调整的。全部代码如下Canvas测试//绘制饼图function drawCircle(canvasId, data_arr, color_arr, text_arr){var c document.getElementById(canvasId);var ctx c.getContext(2d);var radius c.height / 2 - 20; //半径var ox radius 20, oy radius 20; //圆心var width 30, height 10; //图例宽和高var posX ox * 2 20, posY 30; //var textX posX width 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, width, height);ctx.moveTo(posX, posY 20 * i);ctx.font bold 12px 微软雅黑; //斜体 30像素 微软雅黑字体ctx.fillStyle color_arr[i]; //#000000;var percent text_arr[i] 100 * data_arr[i] %;ctx.fillText(percent, textX, textY 20 * i);}}function init() {//绘制饼图//比例数据和颜色var data_arr [0.05, 0.25, 0.6, 0.1];var color_arr [#00FF21, #FFAA00, #00AABB, #FF4400];var text_arr [第一季度, 第二季度, 第三季度, 第四季度];drawCircle(canvas_circle, data_arr, color_arr, text_arr);}//页面加载时执行init()函数window.onload init;HTML5绘制饼图演示浏览器不支持canvas这个函数可以直接使用如果想做的更漂亮可以增加一些额外的美观绘制。本代码最大的灵活性是将绘制参数与绘制代码分离饼图大小根据Canvas容器高度自动调整。传递参数方式如下var data_arr [0.05, 0.25, 0.6, 0.1]; //比例数据var color_arr [#00FF21, #FFAA00, #00AABB, #FF4400]; //颜色var text_arr [第一季度, 第二季度, 第三季度, 第四季度]; //文字//绘制饼图drawCircle(canvas_circle, data_arr, color_arr, text_arr);到此这篇关于Html5饼图绘制实现统计图的方法的文章就介绍到这了,更多相关Html5饼图统计图内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持