用canvas画的柱状图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<canvas id="canvas" width="1200" height="600"></canvas>
</body>
<script>
    var ocanvas = document.getElementById("canvas");
    var mycanvas = ocanvas.getContext("2d");
    var arr = [60,90,150,130,170,190,125,175,155,165,155,145];

    //第一先定义一个画线的函数方法    画两条线
    function line(aX,aY,bX,bY) {//开始和结束的横坐标  开始和结束的纵坐标
        mycanvas.beginPath();
        mycanvas.moveTo(aX,aY);
        mycanvas.lineTo(bX,bY);
        mycanvas.stroke();
    }
    line(300,80,300,480);
    line(900,80,900,480);

    //第二用for循环 画11条线   利用上面line的画线方法
    for(var i=0;i<11;i++){
       //300,80,900,80
        //300,120,900,120
       line(300,80+i*40,900,80+i*40);
        write(200-i*20,280,80+i*40)

    }
    //第三定义一个矩形的函数方法
    function rect(X,Y,width,height) {
        mycanvas.beginPath();
        mycanvas.fillStyle="#abcdef";
        mycanvas.rect(X,Y,width,height);
        mycanvas.fill();
        mycanvas.closePath()
    }

    //第四定义一个方法  定义矩形的具体变量以及高引入数组
    function wenrect() {
        for(var i=0;i<12;i++){
            var width=30;
            var height=arr[i]*2;
            var X=310+i*40+i*10;
            var Y=480-height;
            rect(X,Y,width,height);
            write((i+1)+"月",320+i*40+i*10,500)
        }
    }
    wenrect();

    //添加字
    function write(start,ox,oy) {
        mycanvas.beginPath();
        mycanvas.fillStyle = "black";
        mycanvas.fillText(start,ox,oy);
        mycanvas.closePath();
    }
</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值