canvas学习——画折线图

今天简单的看了下:下面是静态的,注释详细很简单

折线图绘制
<body style="background-color: #f3f3f3">
	<canvas id="canvas" width="1000" height="650" style="background-color: #b1f3ff"  ></canvas>
	<script>
		var canvas = document.getElementById("canvas");
		var startX = 100;
		var startY = 600;
		var ctx = canvas.getContext('2d');
		// //设置边框
        // ctx.lineWidth = 1;//设置边框大写
        // ctx.fillStyle = "yellow";//填充实体颜色
        // ctx.strokeStyle = "red";//填充边框颜色
        // ctx.strokeRect(50.5,50.5,100,100);//对边框的设置
        // ctx.fillRect(0,0,1000,650);//对内容的设置
		//坐标轴坐标
		var data = [0,100,200,300,400,500,600];
		//坐标点
		var point = [[100,200],[150,230],[200,190],[250,240],[300,300],[350,270],[400,500],[450,400],[500,100]];
		//建立坐标系
		function creat(){
			ctx.beginPath();
			ctx.moveTo(startX,50);
			ctx.lineTo(startX,startY);
			ctx.moveTo(startX,startY);
			ctx.lineTo(650,startY);
			ctx.closePath();
			ctx.stroke();

		}
		//填充横纵坐标
		function insert(){
			var x = 100;
			var y = 600;
			//绘制横坐标
			for(var i in data){
				ctx.fillText(data[i],x,y+20);
				x +=100;
			}
			x = 100;
			y = 600;
			//绘制纵坐标
			for(var i in data){
				ctx.fillText(data[i],x-20,y);
				y -=100;
			}
		}
		//绘制折线
		var num = 0;
		var sh = setInterval(function(){
			//只有第一个点重新开始绘制
			if(num == 0)
				ctx.beginPath();
			//终止
			if(num == 8){
				clearInterval(sh);
			}
			var x = point[num][0];
			var y = point[num][1];
			//转换坐标
			x += 100;
			y = startY - y;
			ctx.arc(x,y,2,0,2*Math.PI);
			//进行点的内部链接
			if(num != 0)
				ctx.lineTo(x,y);
			num++;
			ctx.moveTo(x,y);
			ctx.strokeStyle = "#b320ff";
			//;连接边框
			ctx.stroke();
			console.log(num);
		},400);
		creat();
		insert();
	</script>
</body>

动态待续~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Canvas是HTML5新增的一个用于绘制图形的标签,可以通过JavaScript来控制Canvas进行图形的绘制。在进行Canvas绘制时,可以通过调整布的位置、大小和旋转角度等属性,来控制绘制出来的图形的位置和形态。 下面我们就来介绍一下Canvas布的移动、缩放和旋转: 1. 布移动 布移动可以通过Canvas提供的translate方法来实现。translate方法接收两个参数,分别表示x轴和y轴方向上的偏移量。偏移量为正值表示向右或向下移动,为负值表示向左或向上移动。 例如,我们可以通过下面的代码将布向右移动50个像素,向下移动100个像素: ``` context.translate(50, 100); ``` 2. 布缩放 布缩放可以通过Canvas提供的scale方法来实现。scale方法接收两个参数,分别表示x轴和y轴方向上的缩放比例。缩放比例为大于1的值表示放大,小于1的值表示缩小。 例如,我们可以通过下面的代码将布在x轴和y轴方向上都放大2倍: ``` context.scale(2, 2); ``` 3. 布旋转 布旋转可以通过Canvas提供的rotate方法来实现。rotate方法接收一个参数,表示旋转的角度,单位为弧度。 例如,我们可以通过下面的代码将布旋转45度: ``` context.rotate(Math.PI / 4); ``` 需要注意的是,Canvas绘图的坐标系原点默认在布的左上角,而移动、缩放和旋转操作都是相对于原点进行的。因此,在进行这些操作时,需要先将布的原点移动到需要的位置,再进行操作。例如,如果需要将布向右移动50个像素,需要先将原点移动到(50,0)的位置,再进行移动操作: ``` context.translate(50, 0); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值