1. 数据可视化简介
创建图表探索数据并分享结果
数据可视化:
量化信息的可视化
2. 为何使用数据可视化?
安斯库姆四重奏
工具:python matplotlib //r ggplot
发现数据图形的模式、趋势和异常值
3. 数据类型
1.数值数据:具有数值的变量 quantitative data
分为:
1.1 离散变量:可计数的变量 discrete
2.2 连续变量 continuous
2.分类数据 categorical/nominal data
对数据进行标注或分组的一种方式
可以以数值形式表示分类数据,但是这些数值不必具有任何数学意义
3.有序数据 ordered data
--population bins(0-10 million,10-100 million,100-500 million,>500 million)
--class difficulty (beginner,intermediate,advanced)
每一种数据类型都可以进行视觉编码,我们需要根据不同的数据类型选择正确的视觉编码方法
4. 视觉编码
用视觉元素表示数据
在可视化数据时,你会使用视觉元素(例如点、线、长条)表示数值。例如,如果查看多个人的身高和体重,可以用一个点表示每个人的身高和体重值。
这里有两个点,表示两个人。体重和身高值在图中用点的位置(相对于坐标轴上的刻度)表示。左侧的点表示体重值 70.0 公斤,身高约为 1.72 米(根据点到坐标轴的虚线确定)。
点
对于定量数据,尤其是对比两个变量时,建议使用点。对于上述示例,你可以看出如何表示更多的数据。
点是最准确的表示方法,即与其他视觉元素相比,人类更善于确定用点表示的值。从点到坐标轴画个直线很简单。点就像图片上的小空间,很容易看出所表示的值。用线条或长条表示此类数据的话,会很混乱。
线条
线条适合将相关的数据相连,并帮助我们用肉眼观察。对于一段连续数据(例如时间)来说,适合用线条,这时候点就不合适了。看看下面这个只用点表示的时间数据图表,另一个用线条表示。
用线条表示冰激凌销量的季节性变化趋势。人们凭直觉就能从线条上看到趋势,而点则表示这些数据没有联系。
线条还非常适合显示不同组之间的变化。Edward Tufte 发明了一种可视化图表,叫做“坡度图”,这种图非常适合显示根据时间而变化的一系列群组。如果你感兴趣的话,请阅读这篇文章,其中很好地介绍了坡度图的发展历史和用途。
因为人们可以从线条里看到趋势,所以如果某种趋势不合理的话,则不适合使用线条,例如下图:
条形图
对于上述图表,要对比的是几组数据,条形图非常合适。
条形图只能表示一个数值(用左侧的 y 轴表示),适合对比几组数据(家居、电子产品、供应品、服务)。我们很快就能看出每组的利润对比情况。
颜色
颜色通常用来表示第三个维度,因为很难在二维平面(例如计算机屏幕)上表示三维数据。可以是连续数据 (例如热度图)或离散数据(将数据分成几个组)。
Stephen Few 写了一遍很棒的关于视觉编码的文章。共 8 页,里面有很多图表,只需 10 分钟左右的时间就能看完。不妨阅读一下。如果你偏离折线表示方法,你的读者可能就无法理解你的意思,就好像你用错误的词汇与他人交流一样。
visual encodings
data → display elements
display elements (planar variables,retinal variables)
position can be good for encoding two variables
size/orientation/color saturation 很难定量观察差异
时间变量:在可视化图表中各帧移动
5. 视觉编码的排序
6. 探索与解释
数据分析流程
可视化数据在分析过程中包括两点:探索数据和解释数据。探索数据涉及研究数据,找到有趣的关系并提出问题。解释数据是指表示这些关系并回答问题。如下为处理数据的典型流程
提取和清理
首先是从数据库中提取数据或从其他记录中解析数据。通常,这时候你需要使用 SQL 或从网页上收集数据,这一流程叫做网页数据抽取。
你的大部分时间都会花费在清理这些数据上。通常,记录会缺失,格式不对,或者就是不合理。
探索可视化
数据整理好后,你需要再次探索该数据,以便理解数据。你需要查看数据的分布方式,某些变量是否有关联,记录是如何分类的。这一流程通常称为探索性数据分析,简称 EDA。
这时候数据可视化就派上用场了,因为你可以绘制数据分布情况,并创建散布图来表示关系。有助于你从数据中发现有趣的规律,以及其他特征,帮助你做出决策。
-
柱状图
对于分类变量来说,你需要查看数据是如何在各个类别之间分布的。这时候适合使用柱状图:
直方图
对于连续变量来说,你可以用直方图来表示分布情况。直方图与柱状图类似,但它的变量划分至不同的范围,然后在不同的范围中统计计数。在直方图中,连续的柱子暗示数值上的连续。直方图在大多数可视化工具中都可以非常方便地作出。
直方图适合显示异常值及数据是如何分布的。此外,并非收集的所有变量都是正态分布的!如果假设是正态的话,可能会得出错误的结论。
-
散点图
你可以用散点图查看变量之间的关系。可以帮助你确定相互关联的变量,或其他有趣的关系。你之前就见过下面的这个图表,但是我将再次提到该图表。
这个散点图显示了一组男性的身高和体重之间的关系。很明显一般情况下,身高升高的话,体重也会增加。当然实际也是这种情况,越高的人体重通常越重!
解释性可视化
最后一部分是深入研究在 EDA 流程中发现的规律,并与他人分享这些规律。这就是解释性部分。就像用数据讲故事一样。通过叙述性内容引导观看者查看你的分析结果。你的职责是让读者与你的数据产生对话。
互动性非常重要,使读者能够自己探索数据。请参阅此互动显示面板!到处研究一下,思考下为何互动性可以增强可视化功能。
7. 数据可视化工具
数据可视化的工具图普
目前大家可以看到的可视化工具非常多,我们很难在课程中对其一一介绍。不过,我们会为大家介绍我们的思考框架,它可以帮助你判断哪个可视化工具更加适合。一般来说,工具需要在适用范围和生产力两方面有所权衡。使用那些适用范围更广的工具可以帮助你创建各种不同的可视化要求而不受各种定制需求的限制,然而,这类工具往往学习曲线会比较高,作图所花的时间也会比较长。在硬币的另一面,那些高生产力的工具,比如 Tableau 或者 RAW,可以让你“无痛”作图,然而只限定在指定的一些可视化类型中。
工具金字塔
上面所提到的权衡可以通过下面的这个金字塔所展示出来。金字塔的宽度代表工具的适用范围,高度代表工具的生产力,或者说使用起来有多方便。
8.可视化设计
正确地设计图表:
选择颜色、符号、合适的图表