这是我参与「第四届青训营 」笔记创作活动的的第5天
数据可视化的概念和基本原则
生活中的可视化
比如在pc端或移动端APP浏览器上呈现的数据以饼状图、折线图可视化展现,又如地图上各种比例尺、地名图标等。 数据可视化可分为科学可视化、信息可视化、可视分析等。
为什么要可视化
- 记录数据
- 分析推理
- 证实假设
- 交流思想
可视化基本原则
能正确表达数据中的信息不产生歧义偏差
常见的错误可视化
- 透视失真
- 图形设计和数据尺度
- 数据上下文
如何实现可视化
在技术上,数据可视化最简单的理解,就是数据空间到图形空间的映射。一个经典的可视化实现流程,是先对数据进行加工过滤,转变成视觉可表达的形式(Visual Form),然后再渲染成用户可见的视图(View)。
可视化技术栈
具备专业素养的数据可视化工程师一般来说需要掌握以下技术栈:
- 基础数学:三角函数、线性代数、几何算法
- 图形相关:canvas、svg、webgl、计算图形学、图论
- 工程算法:基础算法、统计算法、常用的布局算法
- 数据分析:数据清洗、统计学、数据建模
- 设计美学:设计原则、美学评判、颜色、交互、认知
- 可视化基础:可视化编码、可视分析、图形交互
- 可视化解决方案:图表的正确使用、常见的业务的可视化场景
基于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 上执行。