技术15期:4种常用的可视化技术【web前端】

article/2025/10/6 11:54:02

说到可视化这个词,可能有的人会一脸懵逼,感觉很陌生,有的人会觉得索然无味,感觉这又是程序员闲暇之余想出的噱头而已。

 

no,no,no,如果这么想你就错了。

 

可视化的应用已经深入我们的生活中,能以非常炫酷的方式给我们提供优质且量多的数据信息,像今年大伙们看的比较多的疫情信息图,还有淘宝双11的可视化数据大屏,都属于可视化技术的应用。

 

什么?

 

你说你想快速了解这个热门、实用的领域,那就接着往下看吧。

 

首先,你得知道可视化的概念是什么。

 

可视化,是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,再进行交互处理的理论、方法和技术。

 

 

可视化的类型

 

它主要分为以下三个分支:科学可视化、信息可视化、可视分析学

 

科学可视化是可视化领域最早、最成熟的一个跨学科研究与应用领域。

 

面向的领域主要是自然科学,如物理、化学、气象气候、航空航天、医学、生物学等各个学科,这些学科通常需要对数据和模型进行解释、操作与处理,旨在寻找其中的模式、特点、关系以及异常情况。

 

图1 科学可视化

 

信息可视化处理的对象是抽象数据集合,起源于统计图形学,又与信息图形、视觉设计等现代技术相关。


其表现形式通常在二维空间,因此关键问题是在有限的展现空间中以直观的方式传达大量的抽象信息。

 

图2 信息可视化

 

可视分析学被定义为一门以可视交互为基础的分析推理科学。


它综合了图形学、数据挖掘人机交互等技术,以可视交互界面为通道,将人感知和认知能力以可视的方式融入数据处理过程,形成人脑智能和机器智能优势互补和相互提升,建立螺旋式信息交流与知识提炼途径,完成有效的分析推理和决策。

 

图3 可视分析学

 

 

如何实现可视化

 

回到生活和工作中,人们最常用的获取信息咨询的方式之一就是浏览器,下面简略的介绍下在浏览器中的web前端页面,有哪些方式可以实现可视化。

 

1. html + css (传统方式)

 

我们在浏览器中所看到的内容,大概80%以上都是用此方式来实现的。简单的说,html就是页面中一个个整齐的文字,图片,视频等元素,我们用搭积木的方式将各种元素拼凑起来,形成我们主要的信息内容。

 

而css则可以控制这些积木的大小、形状、颜色的样式。两者结合即可构成我们日常中看到的网页。

 

2. svg

 

svg是一种图片格式,它作为矢量图,能在各个分辨率下都能呈现良好的图片效果,并能构建出各式各样的形状,使我们的页面更加美观。

 

3. canvas

 

你可以把它想象成一张白纸,它允许你在白纸上自由的绘画,并将画完后的图形呈现在页面上。

 

它还可以用来实现动画和游戏,毕竟这两者的原理就是在固定时间内,迅速按顺序展示多张图片,利用人类的视觉暂留特性来实现的。

 

4. webGL

 

它是一种3D绘图协议,我们在网页中看到的许多3d特效都离不开它。它利用到了电脑中显卡的性能来进行加速渲染,在性能上比前3者都高出了不少。

 

下表为前端中4种可视化技术的区别:

 

 

看了以上“枯燥无味”的文字,下面再用代码来看看它们的区别吧。

 

我们将用上面以上4种技术来绘制一个下面这样简单的三角形。

 

1. html + css

 

 

 

2. svg

 

 

3. canvas

 

 

 

4. webGL

 

 

 

 

 

四种可视化技术的区别

 

HTML+CSS 优点是方便,不需要第三方依赖,甚至不需要 JavaScript 代码。如果我们要绘制少量常见的图表,可以直接采用 HTML 和 CSS。

 

它的缺点是CSS 属性不能直观体现数据,绘制起来也相对麻烦,图形复杂会导致 HTML 元素多,而消耗性能。

 

SVG 是对 HTML/CSS 的增强,弥补了 HTML 绘制不规则图形的能力。它通过属性设置图形,可以直观地体现数据,使用起来非常方便。但是 SVG 也有和 HTML/CSS 同样的问题,图形复杂时需要的 SVG 元素太多,也非常消耗性能。

 

Canvas2D 是浏览器提供的简便快捷的指令式图形系统,它通过一些简单的指令就能快速绘制出复杂的图形。由于它直接操作绘图上下文,因此没有 HTML/CSS 和 SVG 绘图因为元素多导致消耗性能的问题,性能要比前两者快得多。

 

但是如果要绘制的图形太多,或者处理大量的像素计算时,Canvas2D 依然会遇到性能瓶颈。

 

WebGL是浏览器提供的功能强大的绘图系统,它使用比较复杂,但是功能强大,能够充分利用GPU 并行计算的能力,来快速、精准地操作图像的像素,在同一时间完成数十万或数百万次计算。

 

另外,它还内置了对 3D 物体的投影、深度检测等处理,这让它更适合绘制 3D 场景。

 

综合来看,四种可视化方法各有各的优势和擅长的场景,使用起来还需要根据具体的场景来进行选择。

 

总结:

 

说了这么多,希望你能对前端可视化有一个大致的了解,但在实际的开发中,要想把可视化玩转得很溜,效果实现的很惊艳,还得有丰富的数学和物理知识才能实现。

 

喜欢特效、动画、游戏和挑战的同学请不要错过这个领域,它能让你的工作和生活更加有趣。

- THE END -

想了解更多的干货内容,记得点“关注”噢~

在知乎,搜索”普适极客“,会有惊喜噢~


http://chatgpt.dhexx.cn/article/FoGoxscl.shtml

相关文章

windows环境下如何进入到mysql命令行界面

第一步:打开cmd,进入到mysql安装目录下的bin目录 第二步:输入mysql -hlocalhost -uroot -p 第三步:输入mysql的数据库连接密码 看到如下界面就是进入到了mysql 因为我安装的是MariaDB数据库,所以如果出现mysql>也是正确的

mysql篇:如何进入mysql

1、单击windows图标–搜索框内输入cmd,点击运行。 2、在弹出的CMD命令框中输入: “net start mysql”,按下回车。 3、再次输入"mysql -hlocalhost -uroot -p"命令回车 进入mysql数据库。 4、当显示下面的界面时表示成功链接到了…

cmd中怎么进mysql

第一步:启动mysql服务,可以通过“net start myql”命令实现; 第二步:先使用DOS命令进入mysql的安装目录下的bin目录中; (dos命令的基本操作: 盘符: 例如想进入D盘 d: cd 进入到当前盘…

win系统进入mysql

1,使用管理员身份运行cmd 2,进入到mysql所在的bin目录 3,执行mysql -u root -p输入pw 4,查询已存在的数据库show databases;

Windows下cmd进入MySql的命令界面

winR快捷键打开运行,输入cmd,进入cmd若未将MySql加入环境变量,切换到mysql的安装目录下的bin目录;若已加入环境变量,则不必切换目录。输入主机名、数据库名、密码 mysql -h localhost -u root -p输入数据库密码

进入mysql命令行之后,怎么退出

展开全部 进入mysql命令行之后可以按键ctrlc来退出mysql命令客户端; 也可以在命令行输入quit按回车键来62616964757a686964616fe4b893e5b19e31333431366338退出命令行。 扩展资料 mysql命令行常用命令使用方法介绍: 1、连接和断开服务器 shell>…

linux开启并进入Mysql

rootubuntu-server: /etc# ./init.d/mysql start rootubuntu-server: /etc# mysql -uroot -p111111 mysql> show databases; mysql> show tables;

CMD命令进入MySQL数据库的方法

第一步:以管理员身份打开cmd 第二步:进入存放mysql的磁盘(我存放在E盘) 第三步:cd到bin目录 命令:cd 路径 第四步:输入命令 mysql -hlocalhost -uroot -p 第五步:输入密码 没有设置密码&…

在cmd中怎么进入mysql?

在cmd中进入mysql的步骤: 1、按winr打开,输入cmd,快速打开命令行界面,然后进入cmd 2、启动MySQL服务 使用以下命令:net start myql 3、进入mysql数据库 输入以下命令:mysql -hlocalhost -uroot -p 执行上…

MySQL入门指南1(进入命令行,数据库,数据表操作)

目录 进入mysql命令行步骤:常用MySQL命令一、数据库操作二、数据表操作三、最后的话 进入mysql命令行步骤: 1.以管理员身份进入命令提示符 2.通过命令: net start mysql 启动mysql服务 3.通过命令:mysql -u root -p 回车后输入…

如何进入 mysql?

目录 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -p 4. 点回车出现 下面的 就代表已经进入 mysql 退出 mysql的 方法: 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -p -u :代表你的用户名,如果是本地登录 则为 -uroot-p &am…

进入MySQL的两种方法

1.打开MySQL 5.5 Command Line Client,输入密码即可进入 2.打开cmd命令窗口,输入mysql -u__ -p__ u:用户名 p:密码 如mysql -uroot -p123456回车可直接进入数据库 若不想让别人看到自己的密码,可输入mysql -uroot -p回车,再键入…

小程序页面向组件传数组为空

微信小程序给自定义组件传递数组 显示为空 踩坑一、 传的值必须为数组,而不是对象,弄了一下午发现传字符可以,但是数组一接收就为空[],后改为传数组就接收到了 that.setData({avatar: res.data[0].avatar,bgimage:res.data[0].b…

微信小程序如何从数组里取值_微信小程序 传值取值的几种方法总结

小程序里常见的取值有以下几种,一个完整的项目写下来,用到的概率几乎是100%。 列表index下标取值 页面传值 form表单取值 1. 列表index下标取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 。 1.1 生成值 1 删除 在删除图标…

微信小程序常见面试题

1、小程序有几个文件 WXML:是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构;WXSS: 用于描述 WXML 的组件样式;js: 逻辑处理;json:小程序页面配置…

小程序 组件化 可以实现传值传参

实现的目标&#xff0c;通过自定义组件&#xff0c;可以实现下面这个组件功能&#xff0c;可以自定义文字&#xff0c;点击标题&#xff0c;能够传送当前点击的文字和下标 01.components页面代码 <!--components/w-zujian/w-zujian.wxml--> <view class"kuan&qu…

【微信小程序---子组件传值给父组件】

点击原创或者分类虽然样式如首页一样变化&#xff0c;但是其父组件的最终isActive的值并未发生改变&#xff0c;但是样式发生改变是因为拿取的是Component>里面的properties中的tabs&#xff0c;你点击下去的时候一样拿取tabs数组&#xff0c;所以不会报错。因此子组件必须通…

微信小程序父页面向子组件传值

微信小程序父页面传值 要实现效果&#xff1a; 首页点击立即团购跳转到详情页面传值商品id&#xff0c;详情页在选择商品规格&#xff0c;选择规格为组件需要将商品id同步到组件页面然后进行交互获取规格信息&#xff0c;但是因为setData为异步&#xff0c;所以会导致组件实例…

微信小程序路由跳转,API调用,页面传值

路由跳转 wx.switchTab 跳转到 tabBar 页面&#xff0c;并关闭其他所有非 tabBar 页面。 wx.switchTab({url: /pages/tarbar/index })wx.reLaunch 关闭所有页面&#xff0c;打开到应用内的某个页面。 wx.reLaunch({url: /pages/index/index })wx.redirectTo 关闭当前页面…

微信小程序组件的封装与传值

1、新建component文件夹存放我们的组件&#xff0c;里边存放的就是我们所用的组件&#xff0c;我们今天要做的事弹出框&#xff0c;新建文件夹popup存放我们的组件模板&#xff0c;点击右键选择新建component&#xff0c;就会自动生成组件的模板wxss、wxml、json、js&#xff0…