本文实例讲述了JS+html5 canvas实现的简单绘制折线图效果。分享给大家供大家参考,具体如下:
主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站设计、程序开发、微网站、重庆小程序开发公司等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站建设、网站建设、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。1、实例代码:
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>画图</title> <style> #divContainer{ margin-top: 20px; text-align: center; } #cv{ width: 300px; height: 200px; border-bottom: 2px solid #000; border-left: 2px solid #000; } </style> </head> <body> <div id="divContainer"> 铝锭价走势图<br/> <canvas id="cv">你的设备不支持图表数据显示</canvas> </div> <script> (function(){ window.onload = function(){ //数据源 var dict = [ {x: "2015-04-24", y: 13400}, {x: "2015-04-25", y: 13380}, {x: "2015-04-26", y: 13370}, {x: "2015-04-27", y: 13370}, {x: "2015-04-28", y: 13380} ] //数据源提取 var len = dict.length; var xArr = [], yArr = [], tmp_yArr = []; for(var i=0; i<len; i++){ xArr.push(i * 60); tmp_yArr.push(dict[i].y); } var tmp_minY = Math.min.apply(Math, tmp_yArr);//最小值 var tmp_maxY = Math.max.apply(Math, tmp_yArr);//大值 if(tmp_maxY - tmp_minY <= 100){ for(var i=0; i<len; i++){ yArr.push(tmp_yArr[i] - tmp_minY + 50);//与最小的做比较 } } else{//如果相差太大会导致图表不美观 for(var i=0; i<len; i++){ yArr.push(tmp_yArr[i] / 500); } } var minY = Math.min.apply(Math, yArr); var maxY = Math.max.apply(Math, yArr); //canvas 准备 var canvas = document.getElementById("cv");//获取canvas画布 var ctx = canvas.getContext("2d"); //画折线 for(var i=0 ;i<len; i++){ var x = xArr[i]; var y = maxY - yArr[i] + minY; if(i === 0){ ctx .moveTo(x, y); } else{ ctx .lineTo(x, y); } } ctx .stroke(); //画点 for(var i=0; i<len; i++){ var x = xArr[i]; var y = maxY - yArr[i] + minY; var xMemo = dict[i].x; var yMemo = "¥" + dict[i].y; ctx.beginPath(); ctx.fillStyle = "#000"; ctx.arc(x, y, 2, 0, 2*Math.PI);//画点 ctx.fill(); ctx.fillText(yMemo, x + 3, y - 10); ctx.fillText(xMemo, x + 3, canvas.height - 10, 40);//画文字 } } })(); </script> </body> </html>
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻名称:JS+html5canvas实现的简单绘制折线图效果示例-创新互联
标题路径:https://www.cdcxhl.com/article44/dposhe.html
成都网站建设公司_创新互联,为您提供用户体验、网站改版、软件开发、电子商务、标签优化、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联