原标题:数据可视化:让大数据變得直观易懂
数据可视化的目的其实就是直观地展现数据例如让花费数小时甚至更久才能归纳的数据量,转化成一眼就能读懂的指标;通过加减乘除、各类公式权衡计算得到的两组数据差异在图中通过颜色差异、长短大小即能形成对比。
数据可视化是一个展现复杂信息嘚强大武器通过可视化信息,我们的大脑能够更好地抓取和保存有效信息增加信息的印象。但如果数据可视化做得不好反而会带来負面效果;错误的表达往往会损害数据的传播,完全曲解和误导用户所以更需要我们多维地展现数据,就不仅仅是单一层面
我们可以想一想,在大数据没有出现之前已经有很多对数据加以可视化的经典应用,比如股市里的 K 线图其试图以可视化的手段来发现某些规律。信息可以用多种方法来进行可视化每种可视化方法都有着不同的侧重点。在大数据时代当你打算处理数据时,首先要明确并理解的┅点是:你打算通过数据向用户讲述怎样的故事数据可视化之后又在表达什么?通过这些数据能为你后续的工作提供哪些指导,是否能帮读者正确地抓住重点了解行业动态?了解这一点之后你便能选择合理的数据可视化方法,高效传达数据
当我们能够充分理解数據,并能够轻松向他人解释数据时数据才有价值;我们的读者可以通过可视化互动或其他数据使用方式来探寻一个故事的背后发生了什麼,因此数据可视化至关重要。
数据可视化先要理解数据,再去掌握可视化的方法这样才能实现高效的数据可视化。在设计时你鈳能会遇到以下几种常见的数据类型:
-
量性:数据是可以计量的,所有的值都是数字
-
离散型:数字类数据可能在有限范围内取值例如:辦公室内员工的数目
-
持续性:数据可以测量,且在有限范围内例如:年度降水量
-
范围性:数据可以根据编组和分类而分类,例如:产量、销售量
R 经常被称为是“统计人员为统计人员开发的一种语言”如果你需要深奥的统计模型用于计算,可能会在 CRAN 上找到它――你知道CRAN 被叫做“综合R档案网络”(Comprehensive R Archive Network)并非无缘无故。说到分析和标绘没有什么比得上 ggplot2。而如果你想利用比你机器提供的功能还强大的功能那鈳以使用 SparkR 绑定,在 R 上运行
Scala 是最轻松的语言因为大家都欣赏其类型系统。Scala在JVM上运行基本上成功地结合了函数范式和面向对象范式,目前咜在金融界和需要处理海量数据的企业中取得了巨大进展常常采用一种大规模分布式方式来处理(比如Twitter和LinkedIn)。它还是驱动Spark和Kafka的一种语言
Python 在学术界当中一直很流行,尤其是在自然语言处理(NLP)等领域因而,如果你有一个需要 NLP 处理的项目就会面临数量多得让人眼花缭乱嘚选择,包括经典的 NTLK、使用 GenSim 的主题建模或者超快、准确的 spacy。同样说到神经网络,Python 同样游刃有余有 Theano 和 Tensorflow;随后还有面向机器学习的
Beam)这些新技术,直到最近它们还只支持 Java
合理的可视化(几类图表)
每个可视化图表的类型以一个合理图表的呈现形式来举例说明。
比较类图表显示值与值之间的不同和相似之处 使用图形的长度、宽度、位置、面积、角度和颜色来比较数值的大小, 通常用于展示不同分类间的數值对比不同时间点的数据对比。
柱形图有别于直方图柱状图无法显示数据在一个区间内的连续变化趋势。柱状图描述的是分类数据回答的是每一个分类中“有多少?”这个问题 需要注意的是,当柱状图显示的分类很多时会导致分类名重叠等显示问题
分布类图表顯示频率,数据分散在一个区间或分组 使用图形的位置、大小、颜色的渐变程度来表现数据的分布, 通常用于展示连续数据上数值的分咘情况
散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上以显示变量之间的相互影响程度,点的位置由变量的数值决定
流程类图表显示流程流转和流程流量。一般流程都会呈现出多个环节每个环节之间会有相应的流量关系,这类图形可以很好的表示这些关系
漏斗图适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观地发现和说明问題所在的环节进而做出决策。漏斗图用梯形面积表示某个环节业务量与上一个环节之间的差异漏斗图从上到下,有逻辑上的顺序关系表现了随着业务流程的推进业务目标完成的情况。
漏斗图开始于一个100%的数量结束于一个较小的数量。在开始和结束之间由N个流程环节組成每个环节用一个梯形来表示,梯形的上底宽度表示当前环节的输入情况梯形的下底宽度表示当前环节的输出情况,上底与下底之間的差值形象地表现了在当前环节业务量的减小量当前梯形边的斜率表现了当前环节的减小率。 通过给不同的环节标以不同的颜色可鉯帮助用户更好的区分各个环节之间的差异。漏斗图的所有环节的流量都应该使用同一个度量
占比类图表显示同一维度上的占比关系。餅图广泛应用在各个领域用于表示不同分类的占比情况,通过弧度大小来对比各个分类
饼图通过将一个圆饼按照分类的占比划分成多個区块,整个圆饼代表数据的总量每个区块(圆弧)表示该分类占总体的比例大小,所有区块(圆弧)的加和等于 100%
区间类图表显示同┅维度上值的上限和下限之间的差异。 使用图形的大小和位置表示数值的上限和下限通常用于表示数据在某一个分类(时间点)上的最夶值和最小值。
仪表盘(Gauge)是一种拟物化的图表刻度表示度量,指针表示维度指针角度表示数值。仪表盘图表就像汽车的速度表一样有┅个圆形的表盘及相应的刻度,有一个指针指向当前数值目前很多的管理报表或报告上都是用这种图表,以直观的表现出某个指标的进喥或实际情况
关联类图表显示数据之间相互关系。 使用图形的嵌套和位置表示数据之间的关系通常用于表示数据之间的前后顺序、父孓关系以及相关性。
矩形树图由马里兰大学教授 Ben Shneiderman 于上个世纪90年代提出起初是为了找到一种有效了解磁盘空间使用情况的方法。 矩形树图適合展现具有层级关系的数据能够直观体现同级之间的比较。一个树状结构转化为平面空间矩形的状态就像一张地图,指引我们探索數据背后的故事
趋势类图表显示数据的变化趋势。 使用图形的位置表现数据在连续区域上的分布通常展示数据在连续区域上的大小变囮的规律。
折线图用于显示数据在一个连续的时间间隔或者时间跨度上的变化它的特点是反映事物随时间或有序类别而变化的趋势。
时間类图表显示以时间为特定维度的数据 使用图形的位置表现出数据在时间上的分布,通常用于表现数据在时间维度上的趋势和变化
面積图又叫区域图。 它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充这样一个填充区域我们叫做面积,颜色的填充可以更好的突出趋势信息需要注意的是颜色要带有一定的透明度,透明度可以很好的帮助使用者观察不同序列之间的重叠关系没有透明度的面积会导致不同序列之间相互遮盖减少可以被观察到的信息。
地图类——带气泡的地图
地图类图表显礻地理区域上的数据 使用地图作为背景,通过图形的位置来表现数据的地理位置 通常用来展示数据在不同地理区域上的分布情况。
带氣泡的地图其实就是气泡图和地图的结合,我们以地图为背景在上面绘制气泡。我们将圆(这里我们叫它气泡)展示在一个指定的地悝区域内气泡的面积代表了这个数据的大小。
定义合适的可视化图形可以说是最为关键的。一般情况来看线柱饼等基本图形可以完荿我们大部分的需求,这也是分析人员最常用的展现形式;但在大数据场景或具体业务场景下需要更加特殊的可视化
归纳起来,一名数據可视化工程师需要具备三个方面的能力数据分析能力、交互视觉能力、研发能力。
不管你用什么工具别忘了你的目的是理解数据,這可是数据可视化工程师和软件工程师的最大区别