Canvas 实现表格内的折线图
来源:互联网 发布:怎样快速提高淘宝等级 编辑:程序博客网 时间:2024/06/06 03:54
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Canvas</title></head><body><div id="container"><canvas id="cavsElem">你的浏览器不支持canvas</canvas></div><script>(function(){var canvas = document.querySelector('#cavsElem');var ctx = canvas.getContext('2d');var rows = 60,columns = 90,rectSize = 10;//定义表格的行数列数,还有一个格子的高度canvas.width = 900;canvas.height = 600;canvas.style.border = "1px solid #000";ctx.beginPath();//绘制所有的行for(var i=0; i<rows; i++) {ctx.moveTo(0,i*rectSize);ctx.lineTo(columns*rectSize , i*rectSize);}//绘制所有的列for(var i=0; i<columns; i++) {ctx.moveTo(i*rectSize,0);ctx.lineTo(i*rectSize,rows*rectSize );}ctx.strokeStyle = "#f4f4f4";ctx.lineWidth = .5;ctx.stroke();//折线的点数据, 最大是100.var data = [30, 48, 50, 60, 50, 40, 20, 60, 80, 60];var x0 = 150, y0 = 500;var maxWidth = 500;var maxHeight = 300;var arrowWidth = 10;ctx.beginPath();//绘制 x轴ctx.moveTo(x0, y0);ctx.lineTo(x0 + maxWidth, y0);ctx.lineTo(x0 + maxWidth - arrowWidth, y0 - arrowWidth);ctx.moveTo(x0 + maxWidth, y0);ctx.lineTo(x0 + maxWidth - arrowWidth, y0 + arrowWidth);//绘制y轴ctx.moveTo(x0, y0);ctx.lineTo(x0, y0 - maxHeight);ctx.lineTo( x0 - arrowWidth, y0 - maxHeight + arrowWidth);ctx.moveTo(x0, y0 - maxHeight);ctx.lineTo( x0 + arrowWidth, y0 - maxHeight + arrowWidth);ctx.strokeStyle = "purple";ctx.lineWidth = 2;ctx.stroke();//获取每一个点的坐标,存到数组里面var points = [];var w = maxWidth / data.length;var h = maxHeight / 100;for(var i=1; i<=data.length; i++){points.push({x: i * w + x0,y: (y0 - data[i] * h)});//数组存入一个对象包含坐标的}//利用数组里面的点,链接起来ctx.beginPath();ctx.moveTo(x0, y0);for(var i=0; i<points.length; i++){ctx.lineTo(points[i].x, points[i].y);}ctx.strokeStyle = "red";ctx.lineWidth = 1;ctx.stroke();}());</script></body></html>
//运行后的效果图为:
是
阅读全文
0 0
- Canvas 实现表格内的折线图
- canvas实现折线图
- 利用canvas实现折线图的绘制
- html5 canvas 实现折线图
- 原生js和canvas实现的 柱状图、饼状图、折线图
- HTML5 移动开发 -- Canvas 9.4 表格 , 折线图
- html5 canvas 实现简单绘制折线图
- 用canvas绘制的折线图 +解析
- canvas 折线图
- 利用canvas+Chart.js实现动态折线图
- canvas 画折线图方法
- 用canvas画两条折线图
- Canvas之画多个折线图
- Aristochart – 灵活的 HTML5 Canvas 折线图
- 利用canvas绘制折线图的一种方法
- 【自己的整理】【jQuery插件】 使用canvas创建折线图
- Android 折线图的实现
- MPAndroidChart实现的折线图
- 纯前端通过cookie记住密码
- 【C语言】【unix c】system v IPC(进程间的通信的一种方式)
- 【C语言】【unix c】两个进程通过消息队列实现进程间的通信
- 数据结构实验之栈与队列三:后缀式求值
- 修改数据库字符集utf8--学习笔记
- Canvas 实现表格内的折线图
- 贪心算法---特殊密码锁
- 【C语言】【unix c】共享内存
- 17天c语言学习小结
- (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:X
- Java封装栈工具类--利用数组实现栈结构
- 【C语言】【unix c】网络的基础知识
- innerClass
- 栈内存和堆内存的区别