数据可视化操作

数据可视化的理解

数据可视化是将数据以视觉形式表现出来的数据研究。
也可以理解为是通过计算机图形学和图像处理等技术将获取的数据转换成图表或图像等展现在屏幕上,
并进行各种交互处理的理论、方法和技术。

数据可视化:

一、canvas的基本操作

<canvas id="box" width="800" height="400"></canvas>

1.注意:width和height最好canvas标签上添加,不要用css中的width,height
2.如何绘制常用图形

  第一步: 获取canvas并创建绘图对象
获取canvas标签,只是一个DOM对象
    let box=document.getElementById('box')
如果想操纵canvvas来绘图,必须调用getContext方法来创建ctx绘图对象
    let ctx=box.getContext('2d')
    
  第二步:绘制图形  
    1.绘制一条线段    
    开始绘制:ctx.beginPath()
    绘制线宽:ctx.lineWidth=数值
    起始位置:ctx.moveTo(x,y)
    结束线段:ctx.lineTo(x,y)
    关闭路径:ctx.closePath()
    绘制线段:ctx.stroke()
    填充图形:ctx.fill()
    边框颜色:ctx.strokeStyle="十六进制或单词"
    填充颜色:ctx.fillStyle="十六进制或单词"   
    
   2.绘制矩形
    绘制矩形边框:ctx.strokeRect(x, y, width, height)
    填充矩形:ctx.fillRect(x, y, width, height)
    清除矩形的一部分:ctx.clearRect(x, y, width, height)    
    
   3.绘制圆形 ctx.arc(横坐标, 纵坐标, 圆半径, 圆的起始度数(弧度), 圆的结束度数(弧度), 是顺时针还是逆时间针)   
    弧度制2π = 角度制360°
    所以 弧度制1 =360°/(2π)=(180/π)°
    角度制1°=2π/360=π/18    
    
   4.如何在画布上写字
   	实心填充字:fillText(text, x, y [, maxWidth])
   	空心字:strokeText(text, x, y [, maxWidth])   	
   	
   5.嵌入图片
   ctx.drawImage(image, x, y)

二、svg

1、svg特点与其他图片格式的区别
 图标:icon  gif,jpg,png
svg(放大不失真,可以通过css和js改变样式和交互)
 2、如何生成svg
在线编辑器(http://www.zuohaotu.com/svg/)
通过UI设计工具(AI,stretch)来生成
1、svg标签
<svg width="50" height="40" viewBox="0 0 100 100"></svg>

在这里插入图片描述
在这里插入图片描述

2、path标签
<svg width="100%" height="100%" viewBox="0 0 100 100">
 <path d="M0,0 L240,0 L240,240 L0,240 Z" fill="#fff" stroke="#000" stroke-width="10" transform="translate(5,5)"></path>
</svg>

在这里插入图片描述
d属性介绍:
在这里插入图片描述

三、css3 绘图

圆形的制作,我们采用的是CSS3中的border-radius属性。在制作过程中,有几点需要注意,其一宽度和高度值相同,其二圆角值为宽度或高度值的一半。也有地方提使用设置圆角值为50%,但我在Webkit中有碰到过不支持百分数的情况。

半圆形(Semicircle)
#semicircle{ 
width: 100px; 
height: 50px; 
background: red; 
-moz-border-radius: 100px 100px 0 0; 
-webkit-border-radius:  100px 100px 0 0; 
border-radius:  100px 100px 0 0; 
}
制作半圆和圆使用的方法是一样的,但需要配合元素的高度,宽度以及圆角的方位,制作出半圆形效果。
扇形(Fan-Shaped)
#fanShaped {
background: none repeat scroll 0 0 red;
-webkit-border-radius: 50px 0 0 0;
-moz-border-radius: 50px 0 0 0;
border-radius: 50px 0 0 0;
height: 50px;
width: 50px;
}
椭圆形(Oval)
#oval { 
width: 200px; 
height: 100px; 
background: red; 
-moz-border-radius: 100px / 50px; 
-webkit-border-radius: 100px / 50px; 
border-radius: 100px / 50px; 
}
这里使用了border-radius的X/Y两轴取值,制作出一种变形的圆角,在配合宽度等值,就制作了类似椭圆形的一个效果。
正方形(Square)
#square { 
width: 100px;
height: 100px; 
background: red; 
}
长方形(Rectangle)
#rectangle { 
width: 200px; 
height: 100px;
background: red; 
}
圆形(Circle)
#circle { 
width: 100px; 
height: 100px; 
background: red; 
-moz-border-radius: 50px; 
-webkit-border-radius: 50px; 
border-radius: 50px; 
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值