zoukankan      html  css  js  c++  java
  • canvas+js绘制折线图

    效果:

    源码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>坐标系绘制</title>
    </head>
    <body>
    <canvas id="canvas"></canvas>
    <script>
        (function () {
            //canvas布局
          var canvas = document.getElementById("canvas");
          canvas.width  = 600;
          canvas.height = 600;
          canvas.style.border = "1px solid red";
          //获取上下文
          var ctx = canvas.getContext("2d");
    
          //绘制坐标轴
            var x0 = 100,y0 = 500;// xy轴原点
            var maxX = 500,maxY = 100;
            var lineWidth = 10;//箭头宽度
            //x轴
            ctx.beginPath();
            ctx.moveTo(x0,y0);
            ctx.lineTo(maxX,y0);
            ctx.lineTo(maxX-lineWidth,y0+lineWidth);
            ctx.moveTo(maxX,y0);
            ctx.lineTo(maxX-lineWidth,y0-lineWidth);
            ctx.stroke();
            //y轴
            ctx.beginPath();
            ctx.moveTo(x0,y0);
            ctx.lineTo(x0,maxY);
            ctx.lineTo(x0-lineWidth,maxY+lineWidth);
            ctx.lineTo(x0,maxY);
            ctx.lineTo(x0+lineWidth,maxY+lineWidth);
            ctx.stroke();
    
            //折线
            var data = [.5,.4,.6,.8,.7,.9,.3];
            var xWidht = 400/(data.length+1);//x轴间距
            ctx.beginPath();
            for(var i = 0;i<data.length;i++){
                ctx.lineTo(100+xWidht*(i+1),500-400*data[i]);
            }
            ctx.strokeStyle = 'blue';
            ctx.stroke();
    
    
        }())
    </script>
    </body>
    </html>

  • 相关阅读:
    disruptor 高并发编程 简介demo
    mysql 关于join的总结
    Mysql查询结果导出为Excel的几种方法
    初识ganglia
    Mybatis概述
    struts2中的拦截器
    hessian在ssh项目中的配置
    Hessian基础入门案例
    activiti工作流框架简介
    Oracle中的优化问题
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/10040607.html
Copyright © 2011-2022 走看看