这是我参与「第四届青训营 」笔记创作活动的的第7天
前言
数据可视化,任何一种将数据转化为可视化形式的方式都是数据可视化,它的类型十分丰富,包括图表、地图、度量仪器等。将数据库的数据整理展现出来,通过比较分析能得出规律,帮助有关人员进行数据分析,本篇笔记用于介绍和学习数据可视化的相关知识。
数据可视化分类
- 科学可视化 : 科学实验数据的直观展示
- 信息可视化:对抽象数据的直观展示
- 可视分析:对分析结果的直观展示,及交互式反馈,是一个跨领域的方向
为什么要数据可视化
- 记录信息
- 分析推理
- 证实假设
- 交流思想
数据可视化原则以及错误可视化
可视化原则
- 能够正确的表达数据中的信息而不产生偏差和歧义
- 出色的可视化设计可在最短的时间内,使用最少的空间,用最少的笔墨为观众提供最多的信息内涵。
- 准确的展示数据
- 节省笔墨
- 节省空间
- 消除不必要的无价值图形
- 在最短时间内传达最多的信息
错误可视化
- 透视失真:数字是由视觉元素表示的,那么它们应该与视觉元素的感知程度成正比。使用清晰,详细和彻底的标签,以避免图形失真和含糊不清
- 图形设计,数据尺度:图形的每一部分都会产生对其的视觉预期,这些预期往往决定了眼睛实际看到的东西。错误的数据洞察,产生于在图形的某个地方发生的不正确的视觉预取推断。
- 数据上下文
视觉感知
可视化致力于外部认识,也就是说,咋样利用大脑以外的资源来增强大脑本身的认知能力
视觉感知就是客观事物通过人的视觉在人脑中形成的直接反应。
格式塔理论
- 就近原则:当视觉原色在空间距离上相距较近时,人们通常倾向于将他们归于一组
- 相似原则
- 连续性原则
- 闭合原则
- 共势原则
- 对称型原则
- 图形与背景关系原则
如何实现可视化
在技术上,数据可视化最简单的理解,就是数据空间到图形空间的映射。一个经典的可视化实现流程,是先对数据进行加工过滤,转变成视觉可表达的形式(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 上执行。