摘 要: 现代数据处理越来越依赖于信息技术,然而缺乏相关的方法可用于分析大量数据可视化的问题,因此以系统数据可视化为目标,设计了数据可视化的技术平台,并且实现了其基本的应用功能,同时利用R语言与JavaWeb相结合的方式使其功能更加强大。该平台的实现具有一定的经济价值和积极现实意义。
关键词: 数据可视化; Web数据; R语言
中图分类号: TP311 文献标志码: A
Development of Data Vsualzaton Technology Platform
SHAO Quanyong
(Qngha ndustral Vocatonal Techncal School, Qngha 810000)
Abstract: Wth the ncreasng dependence of modern data processng on nformaton technology, there s a lack of relevant methods to analyze the vsualzaton of large amounts of data. Ths paper desgns a data vsualzaton technology platform wth the goal of data vsualzaton, and realzes ts basc applcaton modes. t makes ts functons more powerful by combnng R language wth JavaWeb. The realzaton of ths platform has certan economc value and postvely practcal sgnfcance.
Key words: Data vsualzaton; Web data; R language
0 引言
数据可视化将对于数据的研究具有巨大的推进力,数据可视化利用人类的感知能力和认知能力探索数据中隐藏的数据规律[1]。数据的存储形式在过去经常是数据图表或者是文档,数据可视化可以将数据最直观的形式呈现在用户者面前。例如现在经常使用到的瀑布圖和GS地图等[2],由于人脑对于色彩和位置等图形元素更为敏感,使得数据可视化形式更加让人们易于接受,目前基于Web前端的数据可视化方法可以呈现在不同的平台上,比如桌面端和移动端。Web前端技术在互联网上的使用,让更加广泛地增加数据的可访问性,理解数据的过程将会十分迅速[3]。在整个设计系统上,加以实现和分析,通过测试,验证可视化数据的合理性与可理解性。
1 相关理论与技术基础
1.1 数据可视化及其方法
在传统的数据处理中,运用比较频繁的就是折线图、柱状图和条形图,使用数据可视化方法是面向互联网的技术,使得数据的功能易用性大大增加,这是需要强大的数据处理能力与分析能力相互协调的,数据可视化的应用目标可以分为4种常见的情况[4],第一种是跟踪、采集数据,使用实时性的图表让人们获得数据的信息,第二种是分析数据,不仅是直观地呈现数据规律,还会以检索的数据处理方式与用户进行深度交互[5],体现数据的隐藏关系,第三种是为了调动用户对于图表的快速识别和理解能力,需要将特别理解的图形用鲜明的颜色作出标记,把握住用户者的理解惯性。最后一种是可视化技术采用图像冲击,视觉上的冲击会让感官感受达到认可的目的,尤其是在海报和杂志上运用很多,渲染成分极为重要。
信息可视化的数据分类可以分成九类,分别是地理类、文本类、时序、网络、层次和多维数据以及一、二、三维数据。在一、二维数据的可视化方法上,根据视觉关系可以分成基于位置的方法和基于颜色和面积的方法,可以通过两个维度的位置或者是在一个维度上映射到另一个维度的面积,三维数据的可视化方法是降维度为主要手段[6],一种是分类降维,另一种是面积降维映射,例如可以体现为有色散点图,多维数据的尺度难以衡量,依然需要进行降维处理,主要是两个大类,线性降维和非线性降维,常见的数据可视化方法是基于几何方法学和基于图表,分别包含非负矩阵分解和局部线性方法,时序数据则是包含时间属性,主要包括基础统计图,用时间上的序列变化描述数据变化的总体趋势,螺旋图可以呈现数据的周期性参考特征,网状和层次数据可视化采用节点链接发与空间填充方法。
2.2 数据可视化相关技术
数据可视化技术在Web可视化工具开发中,主要是使用Echarts和D3.js作为数据可视化绘图的工具,概念可视化,可以将抽象的概念名称变得跟家具体,易于理解,通过动态的用户交互界面将抽象的概念呈现出来,一般的方法主要图表清晰地表达出来。使用R语言,是统计分析的最常用语言之一[7],其与C语言兼容性很强,在R语言的语义是函数设计语言,通过R语言作为函数的输入,其做法是使语言开发者具有更大的操作灵活性,R语言具有很多的程序包,如表1所示。
便于开发者研究和分析,R语言与数据可视化的关系很大,R语言具有许多统计计算算法,其丰富的统计类库帮助开发者做好数据统计工作。其顶尖的制图能力非常适合将数据以展现图像细节的形式彰显出来,具有丰富的数据接收能力,对于由各个平台转换来的数据很好地整合在一起,其轻便的爬虫方法十分便捷地获取网上的在线数据信息[8],同时在基于Web开发的过程中,可以很方便地兼容Java开发语言,其跨平台能力也是十分强大,主流操作系统都可以运行和编译,例如Lnux、Wndows和MacOS等等。如表2所示。
Web领域的开发工作主要基于JavaWeb,而且这主要是基于Java语言强大的功能,现用的Java框架有将近5种主流使用工具其开源程度很大[9],其中以Sprng MVC为主,长期处于领导地位,这是最为常用JavaWeb开发工具,其占比几乎为43%左右,并且这一占比还再不断地增长,对于服务器端的开发,Tomcat的使用率极高,处于应用领域的主导地位。
3 基于Web数据可视化系统设计
在软件系统开发中,需要考虑整体框架的设计开发功能,框架应包含系统功能的研究和性能的优化,系统设计的目的是将excel的数据源对接Java数据处理功能接口实现,然后传递给R语言,利用R语言将数据分析为可视化的数据图表,将利用JavaWeb的开发工具框架SprngMVC的Web客户端展示给用户者。Web展示过程需要整个框架SprngMVC的处理后产出,以上是系统设计的流程图,具体描述如图1所示。
系统功能设计需要分成几个子模块分别单独设计,其整体组成图如图所示,R语言数据处理子模块包含数据处理子模块与JavaWeb子模块两大部分,R语言数据处理子模块包含数据转换接口与图形绘制接口,JavaWeb子模块由业务系统和管理系统组成,这部分子模块与数据库进行对接,包含了用户管理功能和数据导入接口设计,数据导入接口接收Excel文件或者是csv格式的数据文件,通过JavaWeb页面导入控件将数据源导入至Java后台,后台服务器需要处理内存临时数据、数据库的表单以及页面的表单,这是数据可视化的最初始化的步骤,是对数据处理的入口。而针对R语言数据处理的子模块,主要是实现的是数据处理和绘图制表工作。在用R语言处理数据前,需要对变量定义合理的变量名,然后对数据信息进行清洗工作,数据清洗的方案如表3所示。
用户数据被R语言用来转化,利用R语言中的assgn函数将Java语言的数据类型转换成R语言的数据类型,R语言的数据类型利于数据对图形的转化,主要以向量的形式存在。利用统计学领域的知识,对数据信息绘制成图形展示,其中主要涉及R语言的绘图系统,包含R语言的三个常用的程序包。第一个是Lattce绘图函数程序包,lattce绘图是一次性的成图,常用于不同变量之间的交互情形。第二个是基本绘图函数,包含plot、lnes、text、axs等方法,这些方法可以启用图形设备,在设备上进行基本图形的绘制,适用于变量的散点图绘制。ggplot2绘图系统,具有强大的功能,不仅具有标注注释,标题自动处理和绘图的空间位置说明[10],并且也具有使用相关美学的处理操作方法,使其表现更具有丰富的说明特性以及较高的美观程度。在完成基本绘制之后,可以采用R语言的颜色程序包,对图形进行上色,尤其对分类明显的颜色信息,进行鲜明颜色对比处理,突出表现绘制效果。
4 系统实现及其结果分析
4.1 系统主服务器的实现
本文采用的系统主服务器是基于JavaWeb的SprngMVC架构来进行设计和验证的,JavaWeb是基于典型的B/S架构,JavaWeb中实现Servlet组件和JSP组件、静态文档以及客户端类和web.xml文件。在JavaWeb中,开源框架获得极大的应用,本系统是基于Sprng框架,主要是应用Sprng框架中,OC技术使得不同模块之间的交流让容器自身去处理,在XML文件配置需要处理的规则,在编程开发前就把构件对象的耦合问题解决掉。采用Jeecg的系统集成开发环境,主要是因为该平台具有开发效率高的优点,尤其是在U方面具有突出的表现优点,系统的运行环境是jdk1.7、tomcat7.5和MySQL5.6,整個系统是从启动到运行的全过程是利用Controller类成为框架的控制器,同时为了简化配置,开启注解的功能,配置好与注解相关的WebBndngntalzer类,通过Bean解析器,二次处理bean对象,拦截器的加载,便于开放系统的接口。
4.2 文件传输接口与R语言数据处理模块的实现
图7显示文件传输接口主要分为两个部分,第一个部分是文件上传的功能,在等待文件上传后的会实现onLoadSuccess方法和OnQueueComplete方法,针对数据完成上传后,后续对数据进行导入,导入的接口函数是ExcelmportUtl,该工具类接口函数,可以直接调用,无需实例化,支持的字段很多,通常是nteger、Long、Double、Strng、Boolean等等常用数据类型,其实现的模块图如图2所示。
针对R语言模块的实现,采用支持64位的语言程序包,集成的开发环境是RStudo,由于要与Java连接,需要中间服务器Rserve,在完成该服务器的搭建后,Java语言环境可以与R语言环境连接,实现R语言的功能,R语言在利用丰富的可视化函数方面具有很大的优越性,利用JavaWeb提供的数据可视化接口,在用到的R语言分布函数如表4所示。
系统绘图函数提供了丰富的绘图模型,散点图、折线图和柱状图是其常用的展示接口函数模型,在获得图表信息的同时,也实现了对绘图过程中的信息表达。
4.3 系统测试结果与分析
在实现了该系统的整体模块后,对于正常运行的系统进行测试,系统运行的配置情况是CPU采用ntel酷睿7@2.7GHz,系统运行的内存是16GB,采用DDR4 2133MHz。显卡是英伟达GeForce GTX970M,硬盘的容量是2TB,运行平台的操作系统是微软Wndows8.1 64位旗舰版。系统的用户登入系统的页面如图3所示,输入正确的用户与密码可以进入到系统中,后面的界面显示,系统首页的导航规划信息如下图4所示,采取一个针对用户使用市场上不同浏览器的份额的数据信息,显示出较为详细的用户信息描述,如图5所示。
针对系统的安全性测试,测试结果如表5所示。
本系统表单的提交由对象的具体属性来做出判断。针对业务中的访问结果,不仅SQL语句无法注入,而且对于MySQL等新式函数也无法注入访问结果。
5 总结
本文在基于R语言和JavaWeb的开发过程中,设计了数据可视化平台,直接将系统布置到主机上,在服务器端部分作出了相关的数据处理和数据展示,也是在上文提到的硬件环境中,成功运行加载了软件功能,在整体模块中合理划分,实现相应的数据接口。在后续的研究开发中,需要加入完善可视化算法的工作,并且可在后面利用网络爬虫得到数据信息生成一些可视化的数据图形,帮助解决实际的数据问题。
参考文献
[1] 陈伟, Smelauskas Wally. 大数据环境下基于数据可视化技术的电子数据审计方法[J]. 中国注册会计师, 2017(1):85-89.
[2] 崔静安, 周通, 赵红庆, 等. 基于数据可视化技术的供电服务质量提升研究[J]. 电子科技, 2017, 30(12):139-142.
[3] 姜勇, 韦朝奥, 陈绍辉, 等. 基于PDCA的设备资产数据可视化分析技术研究[J]. 机电信息, 2018, 549(15):117-119.
[4] 刘倩, 朱德军, 单雅琦. 基于数据可视化的远程培训指标平台研究[J]. 电脑知识与技术, 2018, 14(5X):86-87.
[5] 刘长娥. 数据可视化技术在Web中的研究及应用[J]. 电脑知识与技术, 2017, 13(18):7-8.
[6] 杜景林, 喻亚楠. 基于SSH框架的NC数据可视化验证系统研究[J]. 现代电子技术, 2018, 41(2):166-169.
[7] 高斐, 苏晨, 陈梅. 多维数据可视化技术的应用探究[J]. 电脑知识与技术, 2018(5):216-217.
[8] 宋美娜, 崔丹阳, 鄂海红,等. 一种通用的数据可视化模型设计与实现[J]. 计算机应用与软件, 2017, 34(9):38-42.
[9] 周建功. 数据可视化技术在政务大数据中的应用研究[J]. 电脑知识与技术, 2018, 14(18):279-280.
[10] 陈海辉, 周向东, 施伯乐. 基于稀疏正则化的高维数据可视化分析技术[J]. 计算机应用与软件, 2017, 34(6):22-26.
(收稿日期: 2019.06.12)
作者简介:邵全勇(1970-),男,青海人,硕士,高级讲师,研究方向:思想政治教育,汉语言文学等。文章编号:1007-757X(2020)01-0144-05