APP下载

数据可视化技术的分析与研究

2022-11-16任妮吴琼栗荟荃

电子技术与软件工程 2022年16期
关键词:可视化工具模块

任妮 吴琼 栗荟荃

(吉林动画学院 吉林省长春市 130000)

数据可视化是什么?它以图形图像的形式表现海量数据,利用数据分析技术、数据可视化工具来发现隐藏在数据中的信息。数据可视化的本质是将海量数据中的特殊数据进行可视化处理,从而更明确、有效的进行信息传递。比起枯燥的数据,浓淡的颜色、不一的大小的形状组合的图像显然更加吸引人,能够更快的识别、理解和记忆数据。

1 数据可视化概述

数据可视化的本质是借助于图形手段,清晰、准确、高效的将信息进行展示与传达。有些人认为数据可视化技术很枯燥,因为有很多功能要实现;有些人认为数据可视化技术很复杂,因为展示的图片太美丽多彩。其实,这些想法都是大家对它的误解。想要更高效的展示数据,审美形式需要与视觉功能同时进行,通过直观地传达数据的特性,从而对稀疏的、复杂的海量数据实现深入的观测。我们往往会忽略美学设计而无法保持设计与功能之间的平衡。做出来的可视化华而不实,无法有效的传递信息。数据可视化与信息图像、信息可视化、科学可视化、统计图形等都有着密不可分的联系。可以说,数据视觉化是科学视觉化与信息视觉化的统一体。

数据可视化技术其本质是将每一个数据对象以单个图元元素进行表示的图元集合,即数据图像。数据可视化技术可以将数据对象的属性以多维的形式表示出来,通过不同的角度、维度对数据进行更深入的观察与分析。这里的数据对象代表了组成了生成数据可视化图表的数据集合,每一个数据对象都代表了一个实体题。举个例子,在大学生就业推荐数据库中,学生、工作、企业、平台等都可以称为数据对象。所有的数据对象都拥有属性,属性通常是一个数据字段,表示数据对象的特征,例如学生有年龄、性别的属性,企业有规模、性质等属性。如果一个数据对象拥有多个属性,这个属性的集合就是我们所了解的特征向量(属性向量)。属性的种类也是十分丰富的,常见的包括:标称属性、二元属性、序数属性、数值属性。

1.1 标称属性

标称属性是一种类似于分类的值,但是不具有有意义的排序。它通常是使用事物的名称或符号表示事物属性。举个例子,汽车的属性颜色的值可以包括红色、绿色、黑色等,这就是使用事物的名称的标称属性,或者用1 代表红色,2代表绿色,3 代表黑色,这里”1、2、3“就是使用符号表示标称属性。尽管使用数字表示属性,但该属性不可以参与计算及排序,且不属于定量值,因此,通常计算标称属性是没有意义的。但值得注意的是标称属性的众数统计值还是可以使用的,它可以反映该属性的某个值出现的频次,具有研究价值。

1.2 二元属性

二元属性是标称属性的特殊例子.二元代表了该类别的属性只具有两个值0 或1,其中0 表示属性不存在也可以false 表示;1 表示属性存在也可以用true 来表示,因此,二元属性就是我们熟知的布尔属性。举个例子,用student 表示用户是否为学生,则1 或者true 表示student 是学生,0或者false 表示student 不是学生。二元属性可以分为对称和不对称两种类别,对称的二元属性说明该属性的0、1 拥有相同权重值,对属性的值不存在偏好。例如用student 表示用户是否为学生,是的结果用0 或1 表示是无偏好的。非对称的二元属性,其结果具有不同的权重。例如某病毒的检测结果分为阳性和阴性,为方便统计,会指定1 表示阳性,0表示阴性,结果用0 或1 表示是确定的。

1.3 序数属性

序数属性顾名思义有序的属性,其属性值之间存在排序或等级关系。举个例子,大学教师的职称具有等级关系,包括助教、讲师、副教授和教授是存在晋级关系的。有些时候,对于研究的数据对象,我们不能客观的分析一些主观的属性时,例如用户的商品的满意度评价,序数属性是有效的。可以通过计算序数属性的众数或中位数来代表序数属性的中心趋势。

1.4 数值属性

和上述属性不同,数值属性属于定量属性,具有具体属性数值,可以参加计算,并能够非常客观的反映事物的属性,例如长度、宽度、高度等都属于数值属性。数值属性可以分成区间型数值属性和比值型数值属性。区间型数值属性是有顺序的,其值可以为正数、负数或0。例如(图1)长春市全年的月气温统计,每个月都可以看作一个固定区间,且二月份温度与一月份的温度值做差可计算出不同月份气温的差异。除此之外,区间数值属性中的中心度量值均值、众数、中位数等都可以有效的反映数据对象的属性。比值数据属性一般会固定零点,简单来说,一个值是两一个值的倍数。

图1:长春市全年温度曲线图

属性是数据对象一定拥有的用于反应自身特征的定性或定量值。实现数据可视化之前一定要了解数据对象的属性,才能更好的将数据特征表示出来。

2 数据可视化的过程

从视觉感知到心理认知要经过获得信息、归纳总结、存储记忆、概念、提取、使用等一系列的过程。尽管分析的数据不尽相同,应用的领用各有特点,但数据可视化的基本流程是相同的。实际上,可视化不是通过某个算法实现的,也不属于算法,而是一些列的步骤组成的流程。除了对视觉展示的设计与实现,也同样需要考虑其他关键的环节。数据的采集、数据的预处理、数据的存储、数据的挖掘等,虽然这些步骤并不属于数据可视化,但是却对数据可视化有着极大的影响。如果采集到的数据包含大量缺失的数据,可视化的结果也一定会很稀疏,出现信息缺失等问题,那么可视化的意义就大打折扣了。因此,数据可视化还涉及到与以下几个模块的相互协作。

1.5 数据采集

数据的采集是指将不同数据源的数据按照规定的格式、维度、尺寸、分辨率等进行采集汇总的过程。如果采集到的数据质量较好,例如没有缺失值、数据精准、数据的维度统一、数据的分辨率较高,那么这样的数据实现的可视化结果质量也会比较好。目前,行业中使用较多的数据采集技术包括网络爬虫技术、软件采集以及开放方式数据库采集等。

1.6 数据预处理

数据的预处理是大数据开发过程中占比很大的关键步骤。数据的预处理能够直接影响后面所有步骤的结果质量。实际环境下,原始数据一定存在不可避免的噪音和误差,同时,数据的模式及特征通常会隐藏起来。数据与处理技术可以使原本混乱无章的数据按照预想的结果进行改变。数据预处理的方法有很多,常见的数据预处理方法包括以下几种:

1.6.1 数据清洗

真实场景下的数据一般使不完整的、有噪声的、不一致的。数据的清洗包括缺失值的填充,可以将不完整的数据通过删除记录、人工填写、全局常量填充等方法进行填补。另一方面,数据的清洗包括噪声数据与离群点数据的处理。噪声数据一般指错误的数据,离群点数据一般指数据集当中的特殊数据。这些数据会影响数据可视化结果的准确性。所以可以通过分箱、回归函数等方法处理噪声数据与离群点数据。最后,对于不一致的数据,可以进行人工干预进行修正。

正确的数据对于数据可视化很重要,它直接影响了可视化的结果。数据清理可利用数据基本统计算法确定离群点或噪声数据,常用的方法包括中心趋势度量计算、数据分布度量计算。中心趋势度量的核心思想是确定数据中大部分数据对象落在什么位置。举个例子,数据集合中的属性A,用一个数据像的集合存储属性值。假设X1,X2...,XN 是A 的N 个观测值,那么我们就需要确定这些观测值大多数落在什么位置。中心趋势度量计算可使用均值计算、中位数计算以及众数计算。使用均值计算反映中心趋势度量是描述数据集合最有用的度量,但是如果原始数据集中存在极端值时,对均值的影响较大,所以均值计算并非中心趋势度量的最佳选择。中位数用于评估数值型数据的中心度量比较有效,并且对于非对称数据比较友好。众数代表中心趋势度量可以表示数据对象的普遍情况,但效果不如均值。综上所述,中心趋势度量计算可以确定离群点或噪声数据,可以根据需求选择均值、中位数、众数或混合方法。除此之外,数据分布度量计算也是数据预处理的有效选择。数据分布度量可以通过极差、四分位数和四分位数极差、合图、方差和标准差计算进行表示,能有效的确定数据集中数据的整体分布,帮助深入了解数据情况。

1.6.2 数据集成

数据的清洗一般应用在同一数据源。当数据的来源不同时,不同的数据源可能出现属性不匹配、冗余值过多、数据冲突等问题,这些问题可以在数据的集成过程中处理。

1.6.3 数据的变换与离散

数据预处理过程中,如果对数据进行变换或统一,就会得到非常标准格式的数据,数据可视化也会事半功倍。数据变换的原则就是数据尽可能的光滑,去掉噪声数据;构造需求属性使数据的信息更丰富;对数据进行汇总和聚集,是数据更精炼;规范化数据,是数据的单位统一;离散化化数据,使数据递归组织成高层概念。

可视化常用到数据的转换,极大便利的帮助用户分析可视化,避免误读。

1.7 可视化映射

人类对明亮、移动、有差异的十五,在视觉上更敏感。可视化映射是数据可视化的核心步骤它能够很好的将数据变成可视化元素。可以通过图形标记、视觉通道设计等方法实现可视化映射。映射后的可视化能够更直观的表达数据。

1.8 用户的感知

数据可视化的目标对象是用户,用户对可视化的主观感受是最重要的。可视化映射的结果只有通过用户转换成信息与知识。

可视化流程虽然简单,但每一个环节都不可缺少,在完成可视化过程中是彼此相辅相成的。

3 数据可视化工具

数据可视化的工具是将美学艺术与可视化实际功能相结合的用于深入观察稀疏且复杂数据集的软件工具。数据可视化工具在大数据、云计算、人工智能等行业前沿技术高速发展的今天,市场已经十分广阔。据新思界发布的《2020‐2025年中国数据可视化工具行业市场深度调研及发展前景预测报告》显示,在中国,参与数据可视化工具的市场主要包括:能够获得大规模数据的公司、具备收集、分析、可视化数据的足够能力、依赖大数据工具的初创大数据公司等。数据可视化目前在国内市场处于起步阶段。数据可视化产业发展前景看好[1]。当前国内外市场有大量的数据可视化工具,那么,哪种数据可视化工具拥有良好的性能呢?下面是当前市场上主流的数据可视化工具:

3.1 Microsoft Excel

微软公司出品的一款电子表格,可以管理数据,也提供各种标准的图表。比如柱状图,折线图,散点图,饼状图等等。该工具操作相当简单,对于小数据的处理覅长快速、便捷。不过微软Excel 制图功能并不强大。生成的图片简单,模板化使生成的图标过于死板,不适合进行深度的数据分析。因此,如果不需要编写程序,只是简单的报表是个不错的选择。

3.2 D3工具

D3 工具的全称为Data‐DrivenDocuments,是一种文档,由数据驱动。因此,D3 这个工具的关键是数据,利用数据确定如何绘制可视化图表的程序设计模型。D3 的文件扩展名是“.js”,所以,该工具主要使用JavaScript 实现数据可视化,它的本质是JavaScript 的一个函数库。D3 的相关函数非常简单,极大程度简化了JavaScript 编程的难易程度,但同时又可以实现JavaScript 可是实现的全部功能,减少数据可视化及编程过程中的工作量。D3 是一个简单、易于操作,但又功能强大的数据可视化开发软件。D3 又是一个开源的软件,其代码托关于GitHub,用户也很容易对其下载使用。因此,D3 软件是目前一个非常热门的数据可视化工具之一。许多电子表格都使用D3 插件实现数据可视化功能。D3 允许各种类型的数据村疏导文档对象模型(DOM)中,将数据驱动转换应用到文档,并让用户以HTML 或者SVG 的形式查看可视化,实现人机交互[2]。

然而,D3 是一款典型的编程工具,利用代码实现数据可视化,它的使用与HTML、CSS、JavaScript、DOM、SVG、Canvas 等,所以应用D3 实现绘图需要我们具备一定的预备知识。

3.3 Python工具

随着人工智能的高速发展,Python 是一种非常受大家欢迎的程序设计语言,解释类型,面向对象。Python 是一款开源的编程语言,他利用大量的函数库高效的实现各种应用功能。Python 语言的特点是简单、高级、面向对象、可扩展性强、开源免费、可移植性强、函数库丰富、可嵌入性强。因此,Python 这种编程语言在数据可视化应用中也有很好的表现[3]。

Python 提供了丰富的绘图功能,主要可以通过tkinter 模块、turtle 模块、Matplotlib 模块实现不同的数据可视化。

tkinter 模块用于绘制画布(Canvas),其主要功能是在空白处建立大小可调的矩形区域作为画布,利用绘制函数在画布上绘制各种图形图像、文字、组件框架等实现数据可视化。因此,tkinter 模块是利用绘制函数将数据以绘图的形式进行可视化展示。

turtle 模块用于海龟绘图。简单来讲,一个带着画笔的海龟在屏幕的指定区域按要求移动或旋转形成轨迹图。turtle 模块也需要通过代码实现数据可视化,其本质也是调用turtle 模块函数。turtle 模块的使用不仅简单、创作出的可视化图视觉效果生动,而且还可以动态的查看代码与海龟的交互,便于对可视化图表进行维护和修改。

Matplotlib 模块主要用于二维可视化图形的绘制。比如柱状图,饼状图,散点图等等。该模块通常与Python 的数值计算模块Numeric、Numarray 模块合作使用,并将复制MATLIB 的函数实现高质量的二维可视化图形。Matplotlib模块的功能核心是“Matplotlib”。pyplot”工具包,Pyplot作为Matplotlib 的子模块提供API,用于绘图。并将复杂的绘图对象结构封装起来。Pyplot 提供的函数可以快速的实现可视化的绘图,并对可视化的细节进行设置。Matplotlib 是Python 面向对象功能的体现,它所绘制的每一个图示元素的图标。如点、线、文字等都属于对象。因此,Matplotlib 模块功能强大,实现常规二维可视化图标非常友好。

因此,Python 是一个相当不错的数据可视化开发工具,其功能十分强大,只是从艺术角度还有点欠缺。

3.4 ECharts工具

与D3 类似,ECharts 也是一个基于JS 的数据可视化库,它由百度提供,用于满足不同领域的需求,实现各种2D、3D 的可视化图表。ECharts 拥有许多开源免费的图形模板,也允许自定义可视化图表,也能达到动态的可视化效果。对于数据量较大的问题的可视化和三维图形的可视化处理也高效,当与百度地图等产品一起使用,可视化效果非常不错。Echarts 工具是一款程序设计工具。利用代码编程生成的而可视化图标非常灵活智能[3]。

另一款数据可视化工具Highcharts 是ECharts 的同款软件,两只之间的关系类似WPS 与Office。Highcharts 拥有丰富的文档说明和教程,对JS 脚本与CSS 的描述非常详细,即使初学者也可以很容易上手。Highcharts 不仅节省时间,软件的稳定性也非常不错。

3.5 Tableau工具

Tableau 是一家大数据公司,专门做数据可视化。Tableau公司的客户超过12000个,分布在全球一百多个国家,在商务、电信、能源、科研等领域都有所应用。Tableau 在中国也有开拓市场,中国东方航空公司就是其重要的客户[4]。Tableau 提供的产品具有十分实用的数据可视化功能。并且即使对于新手也是相当友好的。Tableau 可视化技术的理念就是“所有人都能学会的业务分析工具”,相对于Excel,Tableau 不仅也不需要编程,只需要“拖‐拽”就可以实现强大的可视化功能。Tableau 极速高效,可通过内存数据引擎查询外接数据库的访问。实时连接,数据更新,数据提取效率大大提高。Tableau 简单易用,不仅易于学习,而且操作极其简单,做出的可视化图表也非常的智能、美观、直观。Tableau 还与多种数据库兼容,EXCEL、MySQL、MongoDB都可以与其连接使用。Tableau 具有多种应用程序设计接口,如数据提取接口,JS 接口,R 的集成接口等。因此,具有极好的可拓展性。Tableau 还具备仪表盘和故事功能。将图表整合到仪表盘,可以让可视化图表一览无余,将图表整合成故事,能够更方便的理解可视化图表。Tableau Software 是一款很不错的数据可视化软件。只是需要注意免费版本的Tableau 数据是公开的,如需保护数据隐私需要使用付费版本,价格比较昂贵。

3.6 可视化大屏幕工具

可视化大屏幕工具种类非常多,比如阿里的阿里达塔V。一种傻瓜式拖放可视化工具,无需编程。其主要用于对对业务数据的处理,将相关数据在地图上展示,生成可视化大屏幕。其效果相当令人惊艳。在一些展览、企业等环境经常可以看到Ali DataV 工具作品。另一种常用的可视化大屏幕工具FineReport,在交通控制中心、交易大厅等场所经常可以看到其作品。DIGITALHAIL 工具更适用于数据成像、3D 处理和数据分析。对于智能化可视化应用,例如智能校园、天气监控等可视化,效果非常好[5]。

4 结语

数据大爆炸的时代,数据可视化是比较实用的一个技术。在大数据市场中,数据可视化在其中扮演着极其重要的角色。目前市场上有非常多的数据可视化工具供企业及个人使用,用户可以根据自己的需要,选择适合自己的Visual 工具。例如,纯可视化图表生成器/图表插件工具(Echarts、Python、D3 等),需要用户编程,对用户的技能要求较高,更适合开发人员和数据工程师。可视化报表工具(FineReport、Ali DataV、Digital Hail 等),不需要编程,对用户的技能要求不高,更适合报表开发人员和BI 工程师。商业智能分析工具(Tableau,Excel 等)。不需要编程,对用户的技能要求不高,更适合BI 工程师和数据分析师。数据可视化工具非常多,每种都各有千秋。

猜你喜欢

可视化工具模块
基于CiteSpace的足三里穴研究可视化分析
28通道收发处理模块设计
“选修3—3”模块的复习备考
基于Power BI的油田注水运行动态分析与可视化展示
波比的工具
波比的工具
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
“巧用”工具
集成水空中冷器的进气模块