数据可视化的方法、工具和应用 - 林骥

1. 数据可视化简介

数据可视化,是指用图形的方式来展现数据,从而更加清晰有效地传递信息,主要方法包括图表类型的选择和图表设计的准则。随着互联网的广泛应用,我们的工作和生活等各个方面,每时每刻都在产生大量的数据,也就是所谓的「大数据时代」,发展的趋势是人们越来越喜欢用数据说话。

数据可视化作为一种有效传递信息的手段,被越来越广泛地应用到很多领域。一个比较典型的案例,是淘宝双十一的数据可视化,在一块大屏幕上实时动态展示交易数据,使用的数据可视化工具是阿里云出品的 DataV,体现了阿里巴巴用数据驱动运营的一种探索。

如果想要让数据发挥更大的价值,那么合理地运用数据可视化的方法和工具就显得特别重要。

2. 数据可视化的图表选择

根据数据分析的实际情况,需要有针对性地选择合适的数据可视化方法。但是可视化的图表花样繁多,我们应该如何选择并设计你的图表呢?下面这张图最早是从刘万祥老师的公众号「Excel图表之道」上发现的,原图来自于 http://chart.guide,我做了一点修改。

img

本文将把它拆分为 8 个部分,逐一进行介绍。

(1) 当你需要对不同的类别进行比较时,有很多种图形可供选择,其中条形图是最常见的,垂直瀑布图适合用来比较并分析各个组成部分的变化情况,词云图适用于大量文本的分析和比较。

img

(2) 当你想要直观反映关键业绩指标随时间的变化情况时,用柱形图或曲线图是比较好的选择。建议不要用面积图,因为可视化的目标应该不仅仅只是为了视觉上的好看,准确有效地传递信息更加重要。

img

(3) 当你需要展示二八定律时,用柏拉图(Pareto)能方便地找出主要因素。建议不要用饼图,原因和上面的第 2 条一样。

img

(4) 当你希望展示数据之间的联系或关系时,漏斗图和散点图是比较好的选择。对于气泡图,我个人觉得可以适当地加以运用,因为她能综合反应出 3 个重要的指标,在一些数据分析场景中,气泡图能有效地传递出重要的信息。例如:Hans Rosling 曾经利用动态气泡图,展现了全球人口、收入、健康的动态变化,在网站 http://www.gapminder.org 上也可以找到大量动态气泡图的应用。

img

img

(5) 当你关注数据的分布状况时,可以使用直方图或小提琴图。刚开始看到小提琴图,可能会觉得她比较费解,但当你理解她代表的具体含义之后,就会知道她能传递很多专业的统计信息,包括数据的密度分布、中位数、四分位数等。

img

(6) 如果你想增强图表的表现力,那么可以增加箭头和标签等图表元素。

img

(7) 当你只需要突出显示某个单值,可以用放大的粗体文字或图片。

img

(8) 在进行数据可视化的过程中,应该时刻关注数据可视化的目标,谨记这些图表设计提示:

  • 使用2D图表,不要使用三维立体效果
  • 使用反映真实情况的刻度,避免造成误导
  • 使用单一的 Y 轴,不要使用双轴图表
  • 折线图用角度体现真实的数据变化,不要使用平滑效果
  • 数据序列最多不超过 4 个
  • 条形图按大小排序进行排列
  • 不要使用无意义的颜色
  • 高亮显示重要的图表元素
  • 坐标轴等辅助元素尽量淡化

img

3. 数据可视化的六种制作方法

(一) 将指标值图形化

一个指标值就是一个数据,将数据的大小以图形的方式表现。例如用柱形图的高度表现数据大小。

(二) 将指标图形化

一般用与指标含义相近的icon图标来表现。

(三) 将指标关系图形化

当存在多个指标时,挖掘指标之间的关系,并将其图形化表达,可提升图表的可视化深度。

(四) 将时间和空间可视化

通过时间的维度来查看指标值的变化情况,一般通过增加时间轴的形式,也就是常见的趋势图。当图表存在地域信息并且需要突出表现的时候,可用地图将空间可视化,地图作为主背景呈现所有信息点。

(五) 将数据进行概念转换

对数据进行概念转换,可加深用户对数据的感知,常用方法有对比和比喻。

(六) 让图表「动」起来

数据图形化完成后,可结合实际情况,将其变为动态化和可操控性的图表,用户在操控过程中能更好地感知数据的变化过程,提升体验。实现动态化主要有两种方式:交互和动画。

4. 数据可视化的十大黄金准则

(一) 明确数据可视化的目的;

(二) 通过对比来反映问题;

(三) 提供数据指标的业务背景;

(四) 通过从总体到部分的形式,展示数据分析报告;

(五) 联系实际的生产和生活,对数据指标的大小进行可视化;

(六) 通过明确而全面的标注,尽可能消除误差和歧义;

(七) 将可视化的图标,同听觉上的描述,进行有机的整合;

(八) 通过图形化工具,增加信息的可读性和生动性;

(九) 允许但并非强制,通过表格的形式,呈现数据信息;

(十) 目标是:让受众思考呈现的数据指标,而非数据的呈现形式。

5. 数据可视化的工具

目前市面上的数据可视化工具多种多样,其中Excel作图工具是最常用的,大多数可视化图表都能用Excel实现,网络上有大量相关的教程资源,如果遇到问题,推荐使用「精准搜索资料的6个实用技巧」文中介绍的方法来解决。

从数据可视化工具的灵活性和强大性方面来看,建议使用 Python,作为 2018年TIOBE 评选出来的年度语言,TIOBE 在官方发布时评价道:

Python 是当今高校中最常被教授的首选语言,它在统计领域排名第一、在 AI 编程中排名第一、在编写脚本时排名第一、在编写系统测试时排名第一。除此之外,Python 还在 Web 编程和科学计算领域处于领先地位。总之,Python 无处不在。

Python 中用于数据可视化的库有很多,比较常见的有:

  • Matplotlib(强大、复杂)
  • Seaborn(基于Matplotlib、简单)
  • pyecharts(基于Echarts、炫酷)
  • plotnine(移植于R的ggplot2、图形语法)
  • PyQtGraph(交互、高性能)

6. 数据可视化的应用

有些人打着数据可视化的幌子,片面追求视觉上的花哨,做出来的图表只是为了吸引眼球,这就违背了有效传递信息的目标。数据可视化的应用,应该是为了让人能准确快速地从中获取有价值的信息。

有很多机构成功地将数据可视化技术应用于业务当中,比如「商业周刊」、「经济学人」、「华尔街日报」等,他们的数据可视化图表经过专业人员设计,通常都有标准的模板和配色,关键是设计者能站在受众和业务的角度,从而更加有效地传递了关键信息,这值得我们在应用数据可视化技术时好好学习,在实践工作的过程中,逐渐形成适合自己风格的图表模板和配色风格。


如果本文对你有帮助,欢迎投食

一个有用的函数图像网站 梅宏院士:软件定义的未来 ——万物皆可互联,一切均可编程 - CNCC 2017