本系列「数据可视化基础」文章共三篇,介绍可视化中最基础、最重要的一些概念、理论。这篇为第二篇,主要介绍数据模型,另两篇则主讲可视化流程视觉编码,建议从可视化流程看起。 原文地址:http://geekplux.com/2017/01/02/basics-of-data-visualization-data-model.html

数据说白了就是一组可定性或可量化的值。随着计算机存储能力的大幅提高,人们对于数据的关注与日俱增,「大数据」一词近几年来也被人们频频提及。而数据可视化的主要任务是将数据转换为易于感知的图形。因此,为了更准确更形象的表达数据,我们需要了解一些数据相关的概念。

数据模型与概念模型

为什么数据能代表我们的世界?要回答这个问题,我们得先了解数据和概念两个模型。

数据模型是一组数字或符号的组合,它包含数据的定义、类型等,可以进行各类数学操作等。概念模型描述的是事物的语义或状态行为等。

现实 => 概念 => 数据

现实世界可以用概念模型来描述,而概念模型又可以用数据模型来描述。经过两层抽象,数据便可以描述我们的现实生活中的方方面面。

数据类型

一个东西具体归为哪一类,取决于我们用什么标准划分,数据亦然。

从数据在计算机中的存储可分为浮点数、整数、字符等;从关系模型的角度分,数据又可以分为实体和关系两类;从数据的结构来分,可以分为一维、二维、三维、多维、时间序列、空间序列、树型、图型等等[3];还有很多的分类方法,我们暂时先不讨论,把关注点聚焦到和数据可视化有关的分类方法上。

按照测量标度来分,数据一般被分为四类:类别型有序型区间型比值型

  • 类别型数据用于区分事物。例如,人可以分为男女,水果能分为苹果香蕉等。
  • 有序型用来表示对象间的顺序关系。例如,我们的身高可以从矮到高,学生的成绩可以从低到高排列等。
  • 区间型用于对象间的定量比较。例如,身高 160cm 与身高 170cm 相差 10cm,而 170cm 与 180cm 也相差 10cm,它们俩的差值是相等的。由此可见,区间型数据基于任意的起始点,所以它只能衡量对象间的相对差别。
  • 比值型用于比较数值间的比例关系。例如,体重 80kg 是体重 40kg 的两倍。

不同的数据类型适用于不同的操作[1]:

数据类型 操作 集合操作 统计操作
类别型 =、≠ 互换元素位置 类别、模式、列联相关
有序型 =、≠、>、< 计算元素单调递增(减) 中值、百分位数
区间型 =、≠、>、<、+、- 元素间线性加(减) 平均值、标准方差、等级相关、积差相关
比值型 =、≠、>、<、+、-、×、÷ 元素间相似度 变异系数

不过,在数据可视化中,我们通常不特别区分区间型和比值型,将其统称为数值型。进而可将数据类型进一步精简为三种:类别型有序型数值型。具体为什么要分为这三类,我相信你看完下一篇视觉编码之后会完全明白。

例子

说了那么多,都比较抽象,不如直接来看个例子。下面是一个简单的数据表,每一行通常称作一条记录,每一列称作一个字段,共有几个字段,则通常就说这份数据有几个维度

id 类型 款式 尺码 销量 年增长
1 男款 上衣 L 50 10%
2 女款 上衣 S 35 5%
3 女款 裤子 M 40 20%
4 男款 上衣 XL 30 15%

对照我们上文的概念,不难判断出上表中:

  • 类型、款式为类别型数据;
  • id、尺码为有序型数据;
  • 销量和年增长为数值型数据。

总结

至此,其实本文的任务就已经完成了。通篇传递的最重要的知识就是数据可视化中的三大数据类型,消化了这点,下一篇视觉编码就能更好的理解。欢迎各位在我博客文末留言讨论(如果看不到评论框可能是因为你没有科学上网)。

参考文献


本作品采用知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议进行许可。