今天先上点干货,说下可视化的一些理论。
顺路再次说明下:可视化相关的博客,我会同时更新到
- https://www.xdnote.com/ : 我的个人博客
- https://vis.zone/blog/ : 数据可视化专区
本文的地址是 https://vis.zone/blog/data-vis-theory/ , 如果你在xdnote.com, 建议去 vis.zone 阅读,使用的是 Next皮肤,阅读体验好些!
可视化学科
最近一两年,已经少量院校新开设了《数据可视化》这一课程,教授的主要内容有:
- 可视化的思想理论与整体样貌
- 可视化的历史现状及未来展望
- 可视化的应用原则、各种基础元件、通道等。
- 各种可视化图形的适用性,表达信息,应用场景等。
- 可视化工具宝盒:比如 各种BI系统、Kinbana、Tableau 等的一些操作手 册应用。
可视化极简历史
介绍整体样貌不是本博客的目的,仅简单说下历史:
- 18世纪,苏格兰工程师、政治经济学家。威廉·普莱费尔(William Playfair) 首创出统计制图法.
- 从Playfair 创出统计制图法后,200年间,不少牛人绘出了教科书级的作品。直到计算机的诞生!
- 20世纪60年代 雅克·贝尔廷(Jacques Bertin) 发布《Semiology of Graphics》 提出的七个视觉变量,给出了完备的图形符号和表示理论:
- 70年代 美国数学家 约翰·图基(John Tukey) 将可视化引入统计分析、数据科学!
- 80年代 爱德华·图夫特(Edward Tufte) 提出定量信息的视觉显示理论,发布了《The Visual Display of Quantitative Information》
这仅只是一个极简版本,当今的可视化的发展离不开这些先辈们!正是这些先辈提出的各种理论,才让可视化有现在这样的发展。
相关理论学科
但无论无何,即便有了独立课程,可视化也没法成为一们专业的学科。
其实是正常的,因这,它是一们复合知识体系,需要很多现有学科做为基础。在可视化的应用中,也是必须与业务相结合。
以下是了解可视化的同时需要了解的一些学科:
统计学:
如果你完全不懂统计学,那看不懂很多数据可视化图形,比如散点图、箱线图等。
而实际上,这些统计学的知道确并不复杂,如果只是想做个入门了解的话,学习一点点的统计学常识,对任何人都是性价比超高的投入,这些知识对生活中的深市我
统计学的一些入门知识:方差标准差、百分位数、分布规律、等等。
如果缺少统计学的帮助,你就只能看些饼图、条等图等基础图形
视觉UI:
数据可视化,一个重要的成分是 美,并不是要花里胡哨
- 这方面,需要具备一些UI、UX基础知识,比如配色、空间搭配、友好交互等等。
- 另外,也可以去追逐一些潮流趋势,比如Pantone每年发布的年度色都会有很大程序的影响人们的颜色观。
- 如果懂一点心理学,会更好,比如很多广告通过可视化产品通过一些心理学技巧达到很好的效果。
一些平面几何知识:
一般使用现成的可视化工具时也用不上,但如果需要自己创作可视化图形时,也是必备技能,对理论掌握熟练程度直接决定你的作品优劣。
都是一些初中知识,可以根据需要进行回顾。
再次立个FLAG、后面有时间会单独写一些这方面的文章。
编程语言:就目前环境而言,编程语言就以下三种:
- Python : 主要用于数据分析。
- JavaScript(TypeScript) : 主要用于网页,也可以用于各种客户端。
- 其它 : (说明:由于本博客不关心学界的可视化,所以忽略掉了一些,剩下所有语言的市场加起来不足以上任何一个。)
其中 Python
是建议所有人都去了解一下的,虽然没有多少公司将它投入到正式的产品生产环境里面(AI除外),但对于工作效率提升,尤其是数据分析方面,可完爆其它语言。
3D 可视化(非必选)
一般情况想用可视化手段表达信息,会通过一些理论方法将数据映射到二维平面上,即容易理解,代码写起来也相对容易!
但如果需要将数据映射到3D立体空间中,需要学习的计算机技术会和2D的完全不同。3D可视化需要了解的电脑技术还包括下面这些
- 计算机图形学、 OpenGl、 C 语言
- 物质形态与材质、光学理论
- 立体几何、力学、运动规律
普通情况下,不推荐3D可视化!
由于 3D 可视化的入门门槛极高,虽然有一些像 Unity、ThreeJS 这样的工具库可以简化,但如果基础知识不牢固,也只能造点玩具而已,走不到太远的地方。
另外,从视觉感官来说,一般可视化图形 3D 是不如 2D 的,多了一个维度虽然更加炫酷,不如 2D 直观,违背可视化基本意图,例如饼图:

在表达的信息完全一样情况下,3D会造成更多的干扰,看起来更费劲。
小结
不用被我上面拉的这些玩意吓到,最后说明一下:
- 如果你完全不懂一点理论,你也能通过你在阿里腾讯淘宝京东看到的大量可视化中了解了很多基础了。
- 统计学:只是入个门,了解一点点概念,小学数学水平即可,而且不至一部剧的时间肯定能学会。
- 编程语言:非必选项,如果你不是程序员,也可以不学,用工具一样可做出来,如果是程序员,主要是花时间了解工具包。
- 平面几何:非必选项,依个人经验,几个三角函数就能解决80%的问题!
- 对于大神的 《Semiology of Graphics》 和 《The Visual Display of Quantitative Information》 ,我也没看过,日后有资金和时间就买回来看,再分享。