最近疫情一直都在反反复复,几个城市都出现了确诊病例,感觉又回到了之前每天看信息图的那会儿。
数据来源:来自国家卫健委和各省卫健委通报
这种信息图跟普通的网页差别很大,无法用传统 Web 开发技术实现,叫作数据可视化。作为前端领域中一个几乎不用写网页的特殊分支,可视化利用计算机的图形学和图像处理技术,将数据转换成图形或图像,在屏幕上显示出来,并进行交互处理。
它可以实现很多传统 Web 网页无法实现的效果,应用领域也非常广泛,除了前面说过的疫情地图以外,还有淘宝“双 11”的可视化大屏、平台的年度账单、企业级应用中的态势感知和指挥调度大屏,甚至是国家大力推广的智慧城市、智慧生活等等。
将 GitHub 中提交开源项目的次数做成 3D 可视化图表
所以,行业对可视化工程师的需求越来越大,很多一线互联网公司都设有相关岗位,但这方面的专业人才却寥寥无几。
优秀的可视化工程师,会根据产品经理和设计师的想法,实现贴合用户需求、灵活多变的可视化作品。要做到这一点,绝不是会使用某个库、调用某个 API 就能实现的,需要深入技术栈底层,充分理解数据,掌握视觉呈现技术和基本原理,之后再系统学习可视化领域的方法论,才能真正提高解决问题的能力。
为了帮你梳理每部分的知识重点,分享给你一张可视化知识结构图:
这张图谱出自月影,说起月影,在前端圈,大家应该都挺熟悉的。他曾是 360 最大前端团队奇舞团的团长,并兼任 360 测试团队 Qtest 的负责人。现在去了字节跳动,级别也是高的吓人,最早我还读过他那本《JavaScript 王者归来》,收获很大,把我对于 JS 的疑惑都串了起来。
这几年,他一直在可视化领域深耕,开发了跨平台的开源图形系统 SpriteJS,不仅能高性能地渲染酷炫的可视化大屏,还有很好的跨平台能力,可移植到任何拥有 Canvas 环境的平台上。
所以,那会儿看他推出了专栏《跟月影学可视化》,我第一时间就订阅了。之前就用各种 JavaScript 图形库写过一些可视化图,但仅限于满足 API 调用,大多数时候还是不得要领。直到遇到这门课,跟着月影大佬学完,让我对可视化的理解上了一个新高度。