用html5绘制折线图的实例代码

这篇文章主要介绍了关于用html5绘制折线图的实例代码,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

XML/HTML Code复制内容到剪贴板

               (function (){            window.addEventListener("load", function(){              var data = [100,-1000,0,700];              // 获取上下文              var a_canvas = document.getElementById('a_canvas');              var context = a_canvas.getContext("2d");              // 绘制背景              var gradient = context.createLinearGradient(0,0,0,300);             // gradient.addColorStop(0,"#e0e0e0");              //gradient.addColorStop(1,"#ffffff");              context.fillStyle = gradient;              context.fillRect(0,0,a_canvas.width,a_canvas.height);              // 描绘边框              var grid_cols = data.length + 1;              var grid_rows = 4;              var cell_height = a_canvas.height / grid_rows;              var cell_width = a_canvas.width / grid_cols;              context.lineWidth = 1;              context.strokeStyle = "#a0a0a0";              // 结束边框描绘              context.beginPath();              // 准备画横线             /*for (var col = 0; col <= grid_cols; col++) {                var x = col * cell_width;                context.moveTo(x,0);                context.lineTo(x,a_canvas.height);              }              // 准备画竖线              for(var row = 0; row <= grid_rows; row++){                var y = row * cell_height;                context.moveTo(0,y);                context.lineTo(a_canvas.width, y);              }*/                //划横线                context.moveTo(0,a_canvas.height/2);                context.lineTo(a_canvas.width,a_canvas.height/2);                //画竖线              context.moveTo(0,0);                context.lineTo(0,a_canvas.height);              context.lineWidth = 1;              context.strokeStyle = "#c0c0c0";              context.stroke();              var max_v =0;              for(var i = 0; i<data.length; i++){                  var d=0;                  if(data[i] max_v) { max_v =d};              }              max_vmax_v = max_v * 1.1;              // 将数据换算为坐标              var points = [];              for( var i=0; i < data.length; i++){                var v= data[i];                var px = cell_width * (i +1);                var py = a_canvas.height/2 - a_canvas.height*(v / max_v)/2;                points.push({"x":px,"y":py});              }              // 绘制折现              context.beginPath();              context.moveTo(points[0].x, points[0].y);              for(var i= 1; i< points.length; i++){                context.lineTo(points[i].x,points[i].y);              }              context.lineWidth = 2;              context.strokeStyle = "#8BA9FF";              context.stroke();              //绘制坐标图形              for(var i in points){                var p = points[i];                context.beginPath();                context.arc(p.x,p.y,4,0,2*Math.PI);                //实心圆               /*                context.fillStyle = "#000";*/                //空心圆                context.strokeStyle = "#000";                context.stroke();                context.fillStyle="white";                context.fill();              }              //添加文字              for(var i in points)              {  var p = points[i];                context.beginPath();                context.fillStyle="black";                context.fillText(data[i], p.x + 1, p.y - 15);                  }            },false);          })();    

运行结果如下:

用html5绘制折线图的实例代码

相关推荐:

立即学习“前端免费学习笔记(深入)”;

基于html5绘制圆形多角图案_html5教程技巧

以上就是用html5绘制折线图的实例代码的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1546140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:53:27
HTML5仿手机微信聊天界面
下一篇 2025年12月21日 17:53:37

相关推荐

发表回复

登录后才能评论
关注微信