码迷,mamicode.com
首页 > 其他好文 > 详细

利用画布绘制柱状图

时间:2018-12-16 21:35:50      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:length   sharp   tor   arp   下标   query   对象   ack   move   

 

<!DOCTYPE html>
<head>
	<meta charset="utf-8" />
	<title>柱状图</title>
	<style>/*绘制画布的样式*/
		canvas{
			background-color: rgb(243,243,243);
		}
	</style>
</head>
<body>
	<canvas width="800px" height="500px"></canvas><!--绘制一个画布-->
	<script>
//		获取画布对象和画布工具
		var maycanvas=document.querySelector("canvas");
		var ctx=maycanvas.getContext("2d");
//		动态获取画布的宽和高
		var canvasW=ctx.canvas.width;
		var canvasH=ctx.canvas.height;
//		定义变量
		var unm=50;
//		绘制x,y轴
		ctx.moveTo(unm,unm);
		ctx.lineTo(unm,canvasH-unm);
		ctx.lineTo(canvasW-unm,canvasH-unm)
		ctx.strokeStyle="#000000";
		ctx.stroke();
//		绘制y轴突出部位和下标
		for(i=0;i<5;i++){
		ctx.moveTo(unm,canvasH-unm-i*100);
		ctx.lineTo(unm-10,canvasH-unm-i*100)
		ctx.strokeStyle="#000000";
		ctx.stroke();
		ctx.fillText(i*100,unm-30,canvasH-unm-i*100)
		}
//		绘制x轴和下标
		for(i=1;i<7;i++){
		ctx.moveTo(unm+40+80*i,canvasH-unm);
		ctx.lineTo(unm+40+80*i,canvasH-unm+10);
		ctx.strokeStyle="#000000";
		ctx.stroke();
		}
//		绘制柱形
		ctx.beginPath();
		ctx.moveTo(unm+40,canvasH-unm);
		ctx.lineTo(unm+40,canvasH-unm+10);
		ctx.strokeStyle="#000000";
		ctx.stroke();
		var arr=[20,70,200,330,390,320,230];
		for(i=0;i<8;i++){
		ctx.fillStyle="rgb(51,152,219)";
		ctx.rect(unm+20+80*i, canvasH-unm-arr[i],40,arr[i]);
		ctx.fill();
		}
		//添加下面的字
		var zi=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
		ctx.beginPath();
		for(i=0;i<zi.length;i++){
		ctx.fillText(zi[i],80+i*80,canvasH-30)
		   }
	</script>
</body>

  

利用画布绘制柱状图

标签:length   sharp   tor   arp   下标   query   对象   ack   move   

原文地址:https://www.cnblogs.com/xuhanghang/p/10127936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!