2019年数据可视化研究

数据可视化定义

科学可视化(Scientific Visualization)、 信息可视化(Information Visualization)和可视分析学(Visual Analytics)三个学科方向通常被看成可视化的三个主要分支。而将这三个分支整合在一起形成的新学科 “数据可视化”,这是可视化研究领域的新起点。

科学可视化

科学可视化(Scientific Visualization)是科学之中的一个跨学科研究与应用领域,主要关注三维现象的可视化,如建筑学、气象学、医学或生物学方面的各种系统,重点在于对体、面以及光源等等的逼真渲染。

信息可视化

信息可视化(Information Visualization)是研究抽象数据的交互式视觉表示以加强人类认知。 抽象数据包括数字和非数字数据,如地理信息与文本。

可视分析学

可视分析学(Visual Analytics)是随着科学可视化和信息可视化发展而形成的新领域,重点是通过交互式视觉界面进行分析推理。

可视化技术栈

具备专业素养的数据可视化工程师一般来说需要掌握以下技术栈:

  • 基础数学:三角函数、线性代数、几何算法
  • 图形相关:canvas、svg、webgl、计算图形学、图论
  • 工程算法:基础算法、统计算法、常用的布局算法
  • 数据分析:数据清洗、统计学、数据建模
  • 设计美学:设计原则、美学评判、颜色、交互、认知
  • 可视化基础:可视化编码、可视分析、图形交互
  • 可视化解决方案:图表的正确使用、常见的业务的可视化场景

在学术界与工程界,数据可视化工具都非常之多,可参考一位知乎大拿整理的文章:值得推荐的 37 款数据可视化工具

Web图形的底层技术规范

  • SVG:可缩放矢量图形(Scalable Vector Graphics),是基于可扩展标记语言(标准通用标记语言的子集)用于描述二维矢量图形的一种图形格式。
  • Canvas 2D:Canvas 通过 JavaScript 来绘制 2D 图形,通过逐像素来进行渲染。
  • Canvas 3D WebGL:WebGL(Web Graphic Library)是一个 JavaScript API,用于在任何兼容的 Web 浏览器中渲染 3D 图形。WebGL 程序由用 JavaScript 编写的控制代码和用 OpenGL 着色语言(GLSL)编写的着色器代码构成,这种语言类似于 C 或 C++,可在 GPU 上执行。

比较流行的基础绘图库,基于 SVG 的有 snap.svg、rapheal.js 等,基于 Canvas 2D 的有 zrender、g 等,基于WebGL的有 three.js、SceneJS、PhiloGL 等,这些基础绘图库可以让上层封装更简单容易。基于Web技术的数据可视化类库有:D3,HighCharts,ECharts,Leaflet,Vega,deck.gl,AntV(底层绘图引擎 G,可视化语法类库 G2,关系可视化类库 G6,移动端图表类库 F2),更详细参考

2019年计划

  • 至少学习一个可视化类库,研究与熟悉有一些底层数据展示技术!
  • 回归学术本质的东西————数学相关的巩固,给自己加血!
  • 做一些案例,最好能在工作项目有体验!

最后一句话:加油!加油!!加油!!!