


摘 要: 現代數據處理越來越依賴于信息技術,然而缺乏相關的方法可用于分析大量數據可視化的問題,因此以系統數據可視化為目標,設計了數據可視化的技術平臺,并且實現了其基本的應用功能,同時利用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