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>

  • 相关阅读:
    sobel
    构造函数
    #pragma once & ifnde
    #pragma comment
    SET容器
    重载[] int& operator[ ]( )
    仿函数 operator()()
    remove_if erase
    vector
    map
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/10040607.html
Copyright © 2011-2022 走看看