1.发展历史
数据可视化的历史可以追溯到20世纪50年代计算机图形学的早期,人们利用计算机创建出了首批图形图表。到了1987年,一篇题为《Visualization in Scientific Computing》(科学计算之中的可视化,即‘科学可视化’)的报告成为数据可视化领域发展的里程碑。它强调了推广基于计算机的可视化技术的必要性。
随着人类采集数据的种类和数量的增长,以及计算机运算能力的提升,高级的计算机图形学技术与方法越来越多地应用于处理和可视化这些规模庞大的数据集。20世纪90年代初期,“信息可视化”成为新的研究领域,旨在为许多应用领域中抽象数据集的分析工作提供支持。
目前,数据可视化是一个包含科学可视化和信息可视化的新概念。它是可视化技术在非空间数据上新的应用,可以让人们不再局限于通过关系数据表来观察和分析数据,还能以更直观的方式看到数据及数据之间的结构关系。
2.数据可视化工具介绍
现如今数据资源越来越丰富,但是只有从数据中及时有效地获取到有用的信息,这些数据资源才有意义。利用数据可视化工具可以形象直观地发现数据背后隐藏的规律和价值。本节将对当前最常用的6种数据可视化工具进行介绍。
(1)Tableau Desktop
Tableau Desktop是Tableau公司开发的商业智能工具软件。Tableau Desktop不仅可以让用户自己编写代码,还可以自定义控制台配置。控制台具有监测信息以及提供完整分析的能力,而且还具有灵活和拥有较高的动态性的特性。
Tableau Desktop数据来源有多种形式,能同时支持Excel以及各种数据库类型,还能以web模式发布至网络中供别人访问。
Tableau Desktop能够将数据运算与优美的图表完美地嫁接在一起。它通过拖放程序把所有的数据展示到数字“画布”上,转眼就能创建好各种图表。而且它还有多种展现形式,操作人员能够自定义图表类型,并以多种图形的方式进行展现,同时针对不同的展示图形有不同的说明(图3-13)。
当用户完成图形绘制后,Tableau Desktop数据库中的数据会自动更新,并进行自动同步。同时Tableau Desktop中还集成了趋势分析,能对数据未来的走向进行一定的趋势分析。
(2)Python—matplotlib
浏览一下Python程序库目录,你会发现无论要画什么图,都能找到相对的库——从适用于眼球移动研究的GazeParser,到用于可视化实时神经网络训练过程的pastalog。许多库可以用于广泛的领域,还有一些只能完成特定的任务。Python数据可视化展示如图3-14所示。
图3-13 Tableau Desktop数据可视化展示
图3-14 Python数据可视化展示
其中matplotlib是Python最著名的绘图库,它提供了一整套类似Matlab的API,非常适合交互式绘图。它的文档相当完备,并且Gallery页面(http://matplotlib.org/gallery.html)中有上百幅缩略图,打开之后都有源程序。因此如果需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下就可以完成。
因为matplotlib是第一个Python可视化程序库,所以许多程序库都是建立在它的基础上或者直接调用它。例如pandas和Seaborn就是matplotlib的外包,它们可以直接调用matplotlib。
因为用matplotlib可以很方便地得到数据的大致信息,但是如果要快捷简单地制作可供发表的图表就不那么容易了。就像Chris Moffitt在“Python可视化工具简介”中提到的一样:“功能非常强大,也非常复杂”。
(3)R—ggplot2
R语言提供了一套令人满意的内置函数和库,如ggplot2、leaflet和lattice,用于建立可视化效果以呈现数据。因为ggplot2具有使图形精美、函数和参数设置方便记忆,代码可用性强,以及可以很方便地定制图形等优点,所以经常被用来对数据进行可视化。下面主要介绍ggplot2的数据可视化过程(图3-15)。
图3-15 ggplot2数据可视化展示
①绘图与数据分离,数据相关的绘图与数据无关的绘图分离。这可以说是ggplot2最为吸引人的亮点。众所周知,数据可视化就是将数据中探索的信息与图形要素对应起来的过程。ggplot2将绘图与数据、数据相关的绘图与数据无关的绘图进行分离,有点类似Java的MVC框架思想。这让ggplot2的使用者能清楚分明地感受到一张数据分析图真正的组成部分,有针对性地进行开发和调整。
②图层式的开发逻辑。在ggplot2中,图形的绘制是一个个图层添加上去的。举个例子来说,探索身高与体重之间的关系。首先画一个简单的散点图,然后用不同颜色区分性别,再将整体拆成东中西三幅小图,最后加入回归直线,这样就可以直观地看出身高与体重的关系。这是一个层层推进的结构过程,在每一个推进中,都有额外的信息被加入进来。在使用ggplot2的过程中,上述的每一步都是一个图层,并能够叠加到上一步并可视化展示出来。ggplot2数据可视化步骤如图3-16所示。(www.xing528.com)
③各种图形要素的自由组合。由于ggplot2的图层式开发逻辑,我们可以自由组合各种图形要素,充分自由发挥想象力。
(4)Excel
Office是人们最常用的办公工具,在进行简单的数据处理时,Excel显然是最方便人们使用的。Excel作为一个入门级工具,一直为用户使用来进行数据可视化展示,不仅能通过Excel内在集成的图表来对选定的数据源进行可视化展示(图3-17),也能创建供内部使用的数据图,是快速分析数据的理想工具。
图3-16 ggplot2数据可视化步骤
Excel通过直方图、折线图、散点图、气泡图以及条形图等方式对数据进行可视化,使用方法简单,且具有以下优点:
①在同一个程序里运行数据分析并且创建可视化。
②数据多种展现的方式进行比较。
③改变平铺、布局和其他格式选择。
④Excel推荐数据最好的可视化方式。
(5)MATLAB
MATLAB自产生之日起就具有方便的数据可视化功能,用以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图像处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能做了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等方面)更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。MATLAB数据可视化展示如图3-18所示。
图3-17 Excel数据可视化展示
图3-18 MATLAB数据可视化展示
(6)大数据魔镜
目前,国内也有许多数据可视化工具,例如:大数据魔镜为国云数据旗下的一款大数据可视化分析工具。大数据魔镜拥有国内强大的可视化效果库,支持500多种图表,包括列表、饼图、漏斗图、散点图、线图、柱状图、条形图、区域图、气泡图、矩阵、地图、树状图、时间序列相关的图表,还支持树图、社交网络图、3D图表等多维动态图表类型。大数据魔镜目前支持市面上所有数据源,云平台版和基础企业版支持Excel和Mysql,高级企业版支持SQL Server、ORACLE、Access、NOSQL、MongoDB、DB2以及Hadoop、Spark等数据源;除此之外,大数据魔镜还支持Google Analytics、微信、微博、淘宝、京东等第三方社会化数据源,供开发者使用。大数据魔镜数据可视化展示如图3-19所示。
大数据魔镜最大的特点是云平台免费(企业基础版也是免费的),可视化的效果较多,可视化渲染速度快。目前大数据魔镜有四个版本:云平台版、基础企业版、高级企业版和Hadoop版。
①云平台版:永久免费,适合接受SAAS的企业和个人进行数据分析使用。
②基础企业版:可代替报表工具和传统BI,适合中小型企业内部使用,可全公司协同分析。
③高级企业版:适合大型公司,最好有数据仓库,帮助企业完成数据转型。
④Hadoop版:支持PB级别大数据计算,实时计算,完美兼容Spark、Hbase非结构化计算,适合大数据处理公司,最好数据有一定积累,有Hadoop、Spark等大数据处理需求。
图3-19 大数据魔镜数据可视化展示
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。