大数据的可视化
1 可视化概述
1.1 什么是数据可视化
数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程
数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析
1.2 可视化的发展历程
反映霍乱患者分布与水井分布的地图
20世纪50年代,随着计算机的出现和计算机图形学的发展,人们可以利用计算机技术在电脑屏幕上绘制出各种图形图表,可视化技术开启了全新的发展阶段。最初,可视化技术被大量应用于统计学领域,用来绘制统计图表,比如圆环图、柱状图和饼图、直方图、时间序列图、等高线图、散点图等,后来,又逐步应用于地理信息系统、数据挖掘分析、商务智能工具等,有效促进了人类对不同类型数据的分析与理解
随着大数据时代的到来,每时每刻都有海量数据在不断生成,需要我们对数据进行及时、全面、快速、准确的分析,呈现数据背后的价值,这就更需要可视化技术协助我们更好地理解和分析数据,可视化成为大数据分析最后的一环和对用户而言最重要的一环
1.3 可视化的重要作用
在大数据时代,可视化技术可以支持实现多种不同的目标:
-
观测、跟踪数据
百度地图显示的北京市实时交通路况信息
-
辅助理解数据
微软“人立方”展示的人物关系图
-
2 可视化工具
2.1 入门级工具
Excel是微软公司的办公软件Office家族的系列软件之一,可以进行各种数据的处理、统计分析和辅助决策操作,已经广泛地应用于管理、统计、金融等领域
2.2 信息图表工具
信息图表是信息、数据、知识等的视觉化表达,它利用人脑对于图形信息相对于文字信息更容易理解的特点,更高效、直观、清晰地传递信息,在计算机科学、数学以及统计学领域有着广泛的应用。
-
Google Chart API
谷歌公司的制图服务接口Google Chart API,可以用来为统计数据并自动生成图片,该工具使用非常简单,不需要安装任何软件,可以通过浏览器在线查看统计图表。
通过浏览器在线查看Google Chart统计图表
-
Visual.ly
Visual.ly是一款非常流行的信息图制作工具,非常好用,不需要任何设计相关的知识,就可以用它来快速创建自定义的、样式美观且具有强烈视觉冲击力的信息图表。 -
Tableau
Tableau是桌面系统中最简单的商业智能工具软件,更适合企业和部门进行日常数据 表和数据可视化分析工作。Tableau实现了数据运算与美观的图表的完美结合,用户只要将大量数据拖放到数字“画布”上,转眼间就能创建好各种图表。 -
大数据魔镜
大数据魔镜是一款优秀的国产数据分析软件,它丰富的数据公式和算法可以让用户真正理解探索分析数据,用户只要通过一个直观的拖放界面就可创造交互式的图表和数据挖掘模型。
2.3 地图工具
地图工具在数据可视化中较为常见,它在展现数据基于空间或地理分布上有很强的表现力,可以直观地展现各分析指标的分布、区域等特征。当指标数据要表达的主题跟地域有关联时,就可以选择以地图作为大背景,从而帮助用户更加直观地了解整体的数据情况,同时也可以根据地理位置快速地定位到某一地区来查看详细数据。
下图就是以数据地图形式呈现的2008年世界各国GDP数据,图中,颜色越深的国家,其GDP越高。
-
Timetoast
Timetoast是在线创作基于时间轴事件记载服务的 站,提供个性化的时间线服务,可以用不同的时间线来记录你某个方面的发展历程、心理路程、进度过程等等。Timetoast基于 flash 平台,可以在类似 flash时间轴上任意加入事件,定义每个事件的时间、名称、图像、描述,最终在时间轴上显示事件在时间序列上的发展,事件显示和切换十分流畅,随着鼠标点击可显示相关事件,操作简单。 -
Xtimeline
Xtimeline 是一个免费的绘制时间线的在线工具 站,操作简便,用户通过添加事件日志的形式构建时间表,同时也可给日志配上相应的图表。不同于Timetoast的是,Xtimeline是一个 区类型的时间轴 站,其中加入了组群功能和更多的 会化因素,除了可以分享和评论时间轴外,还可以建立组群讨论所制作的时间轴。
2.5 高级分析工具
-
R
R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具,使用难度较高。R的功能包括数据存储和处理系统、数组运算工具(具有强大的向量、矩阵运算功能)、完整连贯的统计分析工具、优秀的统计制图功能、简便而强大的编程语言,可操纵数据的输入和输出,实现分支、循环以及用户可自定义功能等,通常用于大数据集的统计与分析。
-
Weka
Weka是一款免费的、基于Java环境的、开源的机器学习以及数据挖掘软件,不但可以进行数据分析,还可以生成一些简单图表。 -
Gephi
Gephi是一款比较特殊也很复杂的软件,主要用于 交图谱数据可视化分析,可以生成非常酷炫的可视化图形。
3 可视化典型案例
3.1 全球黑客活动
安全供应商Norse打造了一张能够反映全球范围内黑客攻击频率的地图(http://map.ipviking.com),它利用Norse 的“蜜罐”攻击陷阱显示出所有实时渗透攻击活动。如图所示,地图中的每一条线代表的都是一次攻击活动,借此可以了解每一天、每一分钟甚至每一秒世界上发生了多少次恶意渗透。
3.3 编程语言之间的影响力关系图
Ramio Gómez利用来自Freebase上的编程语言维护表里的数据,绘制了编程语言之间的影响力关系图,如图所示,图中的每个节点代表一种编程语言,之间的连线代表该编程语言对其他语言有影响,有影响力的语言会连线多个语言,相应的节点也会越大。
3.5 世界国家健康与财富之间的关系
如下图所示,“世界国家健康与财富之间的关系”利用可视化技术,把世界上200个国家,从1810年到2010年历时200年其各国国民的健康、财富变化数据(收集了1千多万个数据)制作成三维动画进行了直观展示http://www.moojnn.com/Index/whn。
4 可视化工具实践
数据可视化 学习指南
4.1 D3可视化库使用指南
一、D3可视化库介绍
D3 的全称是(Data-Driven Documents),顾名思义,它是一个被数据驱动的文档。听名字有点抽象,说简单一点,其实就是一个 JavaScript 的函数库,使用它主要是用来做数据可视化的.
学习 D3 最好的地方是:http://d3js.org/
二、D3可视化库的安装
D3 是一个 JavaScript 函数库,并不需要通常所说的“安装”。它只有一个文件,在 HTML 中引用即可。有两种方法:
-
方法一:下载 D3.js 的文件,解压后,在 HTML 文件中包含相关的 js 文件即可。
-
方法二:可以直接包含 络的链接,这种方法较简单:
但使用的时候要保持 络连接有效,不能在断 的情况下使用。
三、预备知识
学习D3可视化库需要的一些基础知识如下:
HTML:超文本标记语言,用于设定 页的内容,比如和
标签
CSS:层叠样式表,用于设定 页的样式
JavaScript:一种直译式脚本语言,用于设定 页的行为
DOM:文档对象模型,用于修改文档的内容和结构
SVG:可缩放矢量图形,用于绘制可视化的图形
四、基本操作
语法说明
- d3.select(“body”):查找DOM中的body。
- selectAll(“p”):选择DOM中的所有段落。由于没有存在,这将返回一个空的选择。这个选择为空,代表段落很快就会存在。
- data(dataset):计数和分析我们的数据值。有五个值,之后我们的数据集执行了5次,每个值一次。
- enter():绑定数据和DOM元素。这个方法将数据传递到DOM中。如果数据值比相应的DOM元素多,就用enter()创建一个新元素的占位符。
- append(“p”):通过enter()创建的占位符 在DOM中插入一个p元素。
- text(“New paragraph!”):为新创建的p标签插入一个文本值。
运行效果如下:
源代码
4、SVG概要
(1)简单形状
SVG标签包含一些视觉元素,包括矩形,圆形,椭圆形,线条,文字和路径等。基于像素的坐标系统,其中浏览器的左上角是原点(0,0)。x,y的正方向分别是右和下。
-
矩形。使用x和y的指定左上角的坐标,width和height指定的尺寸。绘制SVG的矩形可以这样写:
-
圆。使用cx和cy,指定指定半径的中心的坐标,和示半径。例如:
-
椭圆。使用cx和cy,指定指定半径的中心的坐标,rx和ry分别指定x方向和y方向上圆的半径,例如:
-
线。使用x1和Y1到指定线的一端的坐标,x2和y2指定的另一端的坐标。stroke指定描边使得线是可见的。例如:
-
文本。使用 x和y指定文本的位置。例如:
可以给文本设置样式。例如:
(2)SVG的默认样式
SVG的默认样式是黑色填充。如果想换颜色,就必须将样式应用到相应的元素。常见的SVG性质:
- 描边(stroke) -颜色值。
- 描边宽度(stroke-width) -数字(通常以像素为单位)。
- 不透明度(opacity) – 0.0(完全透明)和1.0(完全不透明)之间的数值。
- 有了文字,也可以使用CSS样式,如:
- 字体类型(font-family)
- 字体大小(font-size)
SVG范例:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!