关于数据可视化的一些思考

曾经有很长的一段时间做数据相关的项目,数据收集、处理、分类和可视化都是绕不过去的事情。数据收集、处理和分类通常甲方都能给予一定的建议,但是可视化部分更多的是意见,因此对可视化一直有些不成体系的思考。

基础概念

可视化领域的大佬陈为老师将数据可视化分为科学可视化、信息可视化和可视化分析学。结合我自己的理解,科学可视化即是我们在科学研究或者工程实践中为了更好的理解数据,形成的图表信息,基本是结构化的数据,信息可视化则包括非结构化的数据,例如地图、文本等,日常的项目应该是基本以信息可视化为主,可视化分析学是一个新的门类,重点在于基于可视化进行分析。

可视化领域有一个非常有名的流程图,基本大多数学术论文都会引用,即CARD等于1999年提出的信息可视化参考流程。

信息可视化参考流程.png

结合这个图,文献上一般将数据可视化流程分为下面三个方面:

  • 数据表示与转换。此部分是数据可视化的基础,重点在于将数据由原始状态转换为便于计算机进行可视化处理和展现的状态;

  • 数据可视化的呈现。此部分将处理后的数据转换为可视化形式并呈现给用户,由于同一数据集可能存在多种视觉呈现形式,因此重点和难点在于从中选择最直观、准确和易于操作的方式;

  • 用户交互。由于用户通过交互操作看到视图,因此交互是可视化手段辅助分析决策的推动力,重点和难点在于设计出适用于海量数据的交互技术。

数据可视化图表类型

上面的内容都比较学术化,实际上项目中更关注怎么解决问题。比如有哪些图表,这些图表怎么使用。总结了下,常用的图表可分为统计数据可视化、地理空间数据可视化和关系数据可视化。

  • 统计数据可视化,表现形式有表格、折线图、柱形图、直方图、散点图、面积图和饼图等,能显示数据分布情况、变化趋势或对比关系,统计学上也常用茎叶图和箱形图显示原始数据的统计值分布情况;

  • 地理空间数据可视化,一般结合地图与热力图、散点图、线图等实现;

  • 关系数据可视化,有锥形图、树图、桑基图等,其中桑基图在能源数据可视化领域使用较多,也被称为能流图,用于反映能源生产和消费之间的流动状况。

关于统计数据可视化有一个比较好的参考规则,来源于陈为老师的《数据可视化》一书。

统计图表参考规则.png

数据可视化工具

有了方法论,如何实现呢,通常有可视化软件或者Web可视化开发两种。前者代码量比较低,甚至可以不用代码,但是具有一定局限性,后者很灵活,但是需要基于可视化组件库完成,有一定代码量。

  • 可视化软件。常用软件有Tableau、Power BI和FineBI等,此类软件一般属于商业软件,能提供良好的使用体验,通过拖拽、选择和过滤等所见即所得的方式即可完成数据可视化工作。

  • Web可视化开发。目前流行的数据可视化组件库有D3.js、ECharts、AntV等,均能提供丰富的图表元素,满足数据可视化的需求,在我参与的项目中,D3.js和ECharts都有用过,ECharts上手更快,基本是开箱即用,D3.js定制性更强,学习曲线更陡峭。