博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据可视化基础——数据模型
阅读量:5806 次
发布时间:2019-06-18

本文共 1653 字,大约阅读时间需要 5 分钟。

本系列「数据可视化基础」文章共三篇,介绍可视化中最基础、最重要的一些概念、理论。这篇为第二篇,主要介绍,另两篇则主讲和,建议从可视化流程看起。

原文地址:

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

数据模型与概念模型

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

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

现实 => 概念 => 数据

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

数据类型

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

从数据在计算机中的存储可分为浮点数、整数、字符等;从关系模型的角度分,数据又可以分为实体和关系两类;从数据的结构来分,可以分为一维、二维、三维、多维、时间序列、空间序列、树型、图型等等[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、尺码为有序型数据;

  • 销量和年增长为数值型数据。

总结

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

参考文献

  • [1]

  • [2]

  • [3]Shneiderman B. The eyes have it: a task by data type taxonomy for information visualizations[C]// Visual Languages, 1996. Proceedings. IEEE Symposium on. IEEE Xplore, 1996:336-343.

  • [4]


本作品采用进行许可。

转载地址:http://trubx.baihongyu.com/

你可能感兴趣的文章
mac安装gcc
查看>>
网络磁盘映射策略脚本
查看>>
linux svn安装和配置
查看>>
SSH中调用另一action的方法(chain,redirect)
查看>>
数据库基础
查看>>
表格排序
查看>>
updatepanel中的GridView中的radiobuttonList怎么设置样式
查看>>
快速学习javaSE基础4---面向对象的编程
查看>>
关于Android四大组件的学习总结
查看>>
LeetCode 398: Random Pick Index
查看>>
uva live 7638 Number of Connected Components (并查集)
查看>>
Linux下设置svn开机自启动
查看>>
java只能的round,ceil,floor方法的使用
查看>>
雷公藤多甙治疗类风湿关节炎遭质疑
查看>>
Web前端开发学习误区,你掉进去了没?
查看>>
由于无法创建应用程序域,因此未能执行请求。错误: 0x80070002 系统找不到指定的文件...
查看>>
新开的博客,为自己祝贺一下
查看>>
numpy模块资源
查看>>
puppet任务计划
查看>>
nw打包
查看>>