温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Html5中如何绘制数据统计图

发布时间:2022-02-22 09:35:48 阅读:220 作者:iii 栏目:开发技术
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容介绍了“Html5中如何绘制数据统计图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

全部代码如下:

<!DOCTYPE html>
<html>
    <head>
        <title>Canvas测试</title>
        <meta charset="UTF-8">
        <script>
            //绘制饼图
            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.050.250.60.1];
                var color_arr = ["#00FF21""#FFAA00""#00AABB""#FF4400"];
                var text_arr = ["第一季度""第二季度""第三季度""第四季度"];
 
                drawCircle("canvas_circle", data_arr, color_arr, text_arr);
            }
 
            //页面加载时执行init()函数
            window.onload = init;
        </script>
    </head>
    <body>
        <h4>HTML5绘制饼图演示</h4>
        <p>
            <canvas id="canvas_circle" width="500" height="300"  >
                浏览器不支持canvas
            </canvas>
        </p>
    </body>
</html>

这个函数可以直接使用,如果想做的更漂亮,可以增加一些额外的美观绘制。

本代码最大的灵活性是将绘制参数与绘制代码分离,饼图大小根据Canvas容器高度自动调整。传递参数方式如下:

var data_arr = [0.050.250.60.1]; //比例数据
var color_arr = ["#00FF21""#FFAA00""#00AABB""#FF4400"]; //颜色
var text_arr = ["第一季度""第二季度""第三季度""第四季度"]; //文字
//绘制饼图
drawCircle("canvas_circle", data_arr, color_arr, text_arr);

“Html5中如何绘制数据统计图”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×