头歌实践教学平台:数据科学与大数据技术导论(十)

十、数据可视化

第1关:可视化概述

任务描述

本关任务:根据相关知识内容完成右边选择题。

相关知识

为了完成本关任务,你需要掌握:

1.可视化概述。

可视化概述

数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。

数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。

可视化的发展历程

数据可视化历史上的另一个经典之作是 1857 年"提灯女神"南丁格尔设计的"鸡冠花图"(又称玫瑰图),它以图形的方式直观地呈现了英国在克里米亚战争中牺牲的战士数量和死亡原因,有力地说明了改善军队医院的医疗条件对于减少战争伤亡的重要性。如下图所示:

"提灯女神"南丁格尔设计的"鸡冠花图"

20 世纪 50 年代,随着计算机的出现和计算机图形学的发展,人们可以利用计算机技术在电脑屏幕上绘制出各种图形图表,可视化技术开启了全新的发展阶段。最初,可视化技术被大量应用于统计学领域,用来绘制统计图表,比如圆环图、柱状图和饼图、直方图、时间序列图、等高线图、散点图等,后来,又逐步应用于地理信息系统、数据挖掘分析、商务智能工具等,有效促进了人类对不同类型数据的分析与理解。

随着大数据时代的到来,每时每刻都有海量数据在不断生成,需要我们对数据进行及时、全面、快速、准确的分析,呈现数据背后的价值,这就更需要可视化技术协助我们更好地理解和分析数据,可视化成为大数据分析最后的一环和对用户而言最重要的一环。

可视化的重要作用

在大数据时代,可视化技术可以支持实现多种不同的目标:

(1)观测、跟踪数据,如下图所示:

百度地图显示的北京市实时交通路况信息

(2)分析数据,如下图所示:

用户参与的可视化分析过程

(3)辅助理解数据,如下图所示:

微软"人立方"展示的人物关系图

(4)增强数据吸引力,如下图所示:

一个可视化的图表新闻实例

编程要求

根据相关知识完成右侧选择题

第2关:可视化图表及工具

任务描述

本关任务:根据相关知识内容完成右边选择题。

相关知识

为了完成本关任务,你需要掌握:

1.可视化图表;

2.可视化工具。

可视化图表

最常用的统计图表类型及其应用场景:

图表 维度 应用场景

柱状图 二维 指定一个分析轴进行数据大小的比较,只需比较其中一维

折线图 二维 按照时间序列分析数据的变化趋势,适用于较大的数据集

饼图 二维 指定一个分析轴进行所占比例的比较,只适用于反映部分与整体的关系

散点图 二维或三维 有两个维度需要比较

气泡图 三维或四维 其中只有两维能够精确辨识

雷达图 四维以上 数据点不超过六个

除了上述常见的图表以外,数据可视化还可以使用其他图表,具体如下:

(1)漏斗图

漏斗图适用于业务流程比较规范、周期长、环节多的流程分析,通过漏斗各环节业务数据的比较,能够直观地发现和说明问题所在。

(2)树图

树图是一种流行的、利用包含关系表达层次化数据的可视化方法,它能将事物或现象分解成树枝状,因此又称"树型图"或"系统图"。树图就是把要实现的目的与需要采取的措施或手段,系统地展开,并绘制成图,以明确问题的重点,寻找最佳手段或措施。

(3)热力图

以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示,它基于 GIS 坐标,用于显示人或物品的相对密度。

(4)关系图

基于 3D 空间中的点线组合,再加以颜色、粗细等维度的修饰,适用于表征各节点之间的关系。

(5)词云

通过形成"关键词云层"或"关键词渲染",对网络文本中出现频率较高的"关键词"给予视觉上的突出。

(6)桑基图

也被称为"桑基能量分流图"或"桑基能量平衡图",它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。

(7)日历图

以日历为基本维度的、对单元格加以修饰的图表。

可视化工具
入门级工具

Excel 是微软公司的办公软件 Office 家族的系列软件之一,可以进行各种数据的处理、统计分析和辅助决策操作,已经广泛地应用于管理、统计、金融等领域。

信息图表工具

信息图表是信息、数据、知识等的视觉化表达,它利用人脑对于图形信息相对于文字信息更容易理解的特点,更高效、直观、清晰地传递信息,在计算机科学、数学以及统计学领域有着广泛的应用。

1、Google Chart API

谷歌公司的制图服务接口 Google Chart API,可以用来为统计数据并自动生成图片,该工具使用非常简单,不需要安装任何软件,可以通过浏览器在线查看统计图表。

2、ECharts

ECharts 是由百度公司前端数据可视化团队研发的图表库,可以流畅地运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari 等),底层依赖轻量级的、Canvas 类库 ZRender,可以提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts 提供了非常丰富的图表类型,包括常规的折线图、柱状图、散点图、饼图、K 线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,用于多维数据可视化的平行坐标,以及用于 BI 的漏斗图、仪表盘,并且支持图与图之间的混搭,能够满足用户绝大部分分析数据时的图表制作需求。

3、D3

D3 是最流行的可视化库之一,是一个用于网页作图、生成互动图形的 JavaScript 函数库,提供了一个 D3 对象,所有方法都通过这个对象调用。D3 能够提供大量线性图和条形图之外的复杂图表样式,例如 Voronoi 图、树形图、圆形集群和单词云等。如下图所示:

D3 提供的可视化图表

4、Tableau

Tableau 是桌面系统中最简单的商业智能工具软件,更适合企业和部门进行日常数据报表和数据可视化分析工作。Tableau 实现了数据运算与美观的图表的完美结合,用户只要将大量数据拖放到数字"画布"上,转眼间就能创建好各种图表。

5、大数据魔镜

大数据魔镜是一款优秀的国产数据分析软件,它丰富的数据公式和算法可以让用户真正理解探索分析数据,用户只要通过一个直观的拖放界面就可创造交互式的图表和数据挖掘模型。

地图工具

地图工具在数据可视化中较为常见,它在展现数据基于空间或地理分布上有很强的表现力,可以直观地展现各分析指标的分布、区域等特征。当指标数据要表达的主题跟地域有关联时,就可以选择以地图作为大背景,从而帮助用户更加直观地了解整体的数据情况,同时也可以根据地理位置快速地定位到某一地区来查看详细数据。

下图所示就是以数据地图形式呈现的 2017 年河南各地区 GDP 数据。

2017 年河南各地区 GDP 数据地图

1、Google Fusion Tables

Google Fusion Tables 让一般使用者也可以轻松制作出专业的统计地图。该工具可以让数据表呈现为图表、图形和地图,从而帮助发现一些隐藏在数据背后的模式和趋势。

2、Modest Maps

Modest Maps 是一个小型、可扩展、交互式的免费库,提供了一套查看卫星地图的 API,只有 10KB 大小,是目前最小的可用地图库,它也是一个开源项目,有强大的社区支持,是在网站中整合地图应用的理想选择。

3、Leaflet

Leaflet 是一个小型化的地图框架,通过小型化和轻量化来满足移动网页的需要。

时间线工具

时间线是表现数据在时间维度的演变的有效方式,它通过互联网技术,依据时间顺序,把一方面或多方面的事件串联起来,形成相对完整的记录体系,再运用图文的形式呈现给用户。时间线可以运用于不同领域,最大的作用就是把过去的事物系统化、完整化、精确化。自 2012 年 Facebook 在 F8 大会上发布了以时间线格式组织内容的功能后,时间线工具在国内外社交网站中开始大面积流行。

下图显示了我国户籍制度在 1994 年到 2014 年间随时间的演变情况。

1、Timetoast

Timetoast 是在线创作基于时间轴事件记载服务的网站,提供个性化的时间线服务,可以用不同的时间线来记录你某个方面的发展历程、心理路程、进度过程等等。Timetoast 基于 flash 平台,可以在类似 flash 时间轴上任意加入事件,定义每个事件的时间、名称、图像、描述,最终在时间轴上显示事件在时间序列上的发展,事件显示和切换十分流畅,随着鼠标点击可显示相关事件,操作简单。

2、Xtimeline

Xtimeline 是一个免费的绘制时间线的在线工具网站,操作简便,用户通过添加事件日志的形式构建时间表,同时也可给日志配上相应的图表。不同于 Timetoast 的是,Xtimeline 是一个社区类型的时间轴网站,其中加入了组群功能和更多的社会化因素,除了可以分享和评论时间轴外,还可以建立组群讨论所制作的时间轴。

高级分析工具

1、R

R 是属于 GNU 系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具,使用难度较高。R 的功能包括数据存储和处理系统、数组运算工具(具有强大的向量、矩阵运算功能)、完整连贯的统计分析工具、优秀的统计制图功能、简便而强大的编程语言,可操纵数据的输入和输出,实现分支、循环以及用户可自定义功能等,通常用于大数据集的统计与分析。

2、Weka

Weka 是一款免费的、基于 Java 环境的、开源的机器学习以及数据挖掘软件,不但可以进行数据分析,还可以生成一些简单图表。

3、Gephi

Gephi 是一款比较特殊也很复杂的软件,主要用于社交图谱数据可视化分析,可以生成非常酷炫的可视化图形。

4、Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人吉多•范罗苏姆(Guido van Rossum)于 1989 年发明。Python 是纯粹的自由软件,源代码和解释器 CPython 遵循 GPL(GNU General Public License)协议。Python 具有丰富和强大的库。它常被称为"胶水语言",能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地连接在一起。Python 也是一种很好的可视化工具,可以开发出各种可视化效果图,Python 可视化库可以大致分为:基于 matplotlib 的可视化库、基于 JavaScript 的可视化库、基于上述两者或其他组合功能的库。

可视化经典案例

1、全球黑客活动

安全供应商Norse打造了一张能够反映全球范围内黑客攻击频率的地图(http://map.ipviking.com),它利用 Norse 的"蜜罐"攻击陷阱显示出所有实时渗透攻击活动。如下图所示,地图中的每一条线代表的都是一次攻击活动,借此可以了解每一天、每一分钟甚至每一秒世界上发生了多少次恶意渗透。

一张能够反映全球范围内黑客攻击频率的地图

2、互联网地图

为了探究互联网这个庞大的宇宙,俄罗斯工程师 Ruslan Enikeev 根据 2011 年的数据,将全球 196 个国家的 35 万个网站数据整合起来,并根据 200 多万个网站链接将这些"星球"通过关系链联系起来,每一个"星球"的大小根据其网站流量来决定,而"星球"之间的距离远近则根据链接出现的频率、强度和用户跳转时创建的链接来确定,由此绘制得到了"互联网地图"(http://internet-map.net),如下图所示:

俄罗斯工程师绘制的"互联网地图"

3、编程语言之间的影响力关系图

Ramio Gómez 利用来自 Freebase 上的编程语言维护表里的数据,绘制了编程语言之间的影响力关系图,如下图所示,图中的每个节点代表一种编程语言,之间的连线代表该编程语言对其他语言有影响,有影响力的语言会连线多个语言,相应的节点也会越大。

编程语言之间的影响力关系图"

4、世界国家健康与财富之间的关系

如下图所示,"世界国家健康与财富之间的关系"利用可视化技术,把世界上 200 个国家,从 1810 年到 2010 年历时 200 年其各国国民的健康、财富变化数据(收集了1千多万个数据)制作成三维动画进行了直观展示(http://www.moojnn.com/Index/whn)。

世界国家健康与财富之间的关系图"

5、可视化互联网地图 APP

3D 可视化是描绘和理解数据的一种手段,是数据的一种表征形式,并非模拟技术。3D 可视化以一种独特的立体视角为用户呈现数据,可以帮助用户发现一些在2D模式下无法察觉的内容。Peer 1 开发了一个称为"互联网地图"的 APP。如下图所示,这是一个建立在小盒子形式上的 3D 地图。

Peer 1 开发的"互联网地图"

编程要求

根据相关知识完成右侧选择题

有任何问题都可以随时关注私信!

相关推荐
苏灿烤鱼1 小时前
把求职写成工作流,公开 fork 为什么会把简历写进仓库?
python·typescript·claude
华研前沿标杆游学4 小时前
华为松山湖高阶研学|企业数字化转型游学攻略
python
Data_Journal9 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
涤生大数据9 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
专注API从业者9 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
豆角焖肉9 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
Frank_refuel9 小时前
【C++八股】面向对象
开发语言·c++
青 春 记 忆9 小时前
零基础入门python20:Flask配置、扩展和蓝图拆分
python·flask·后端开发
m0_3807438710 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js