楊晨 蘇有慧 周軍
摘? 要: 介紹了新冠肺炎疫情大數(shù)據(jù)可視化平臺的搭建:以大量的新冠肺炎疫情數(shù)據(jù)為基礎,借助Echarts技術以及交互組件,通過可視化圖形與地圖集成的方式對疫情數(shù)據(jù)進行可視化展示。實現(xiàn)從多個角度展示國內(nèi)疫情發(fā)展趨勢,豐富了疫情數(shù)據(jù)的展示內(nèi)容,為廣大人民群眾了解新冠肺炎疫情提供了便利。
關鍵詞: 新冠肺炎; Echarts; 大數(shù)據(jù)可視化; 多角度展示
中圖分類號:TP399????????? 文獻標識碼:A???? 文章編號:1006-8228(2021)01-61-04
Design and implementation of a big data visualization platform
for the COVID-19 epidemic
Yang Chen, Su Youhui, Zhou Jun
(Dept. of Mathematics and Statistics, Xuzhou Univesity of Technology, Xuzhou, Jiangsu 221018, China)
Abstract: The building of COVID-19 epidemic data visualization platform is introduced. Based on a large number of data of the COVID-19 epidemic, by using Echarts technology and interactive components, the epidemic data is displayed with visualization through the way of integrating the visualized graphics and the map. The COVID-19 epidemic situation is displayed from different point of views, the display contents of epidemic data is enriched, which facilitates the masses to know the COVID-19 epidemic situation.
Key words: COVID-19; Echarts; big data visualization; display from different point of views
0 引言
大數(shù)據(jù)背景下,海量數(shù)據(jù)只有被合理解讀與表達之后才能展現(xiàn)其奧秘[1,2],而可視化的形式極大地提高了數(shù)據(jù)的易讀性,人們不再局限于通過關系數(shù)據(jù)表來觀察和分析數(shù)據(jù)信息, 還能以更直觀的方式看到數(shù)據(jù)及其結(jié)構(gòu)關系[3]。一般而言,大數(shù)據(jù)的可視化復雜且難以理解,需要經(jīng)過抽取、清洗、轉(zhuǎn)化、挖掘 等一系列過程才能展示潛在價值信息[4]。目前,大數(shù)據(jù)可視化形式主要包括文本可視化、網(wǎng)絡(圖)可視化、時空數(shù)據(jù)可視化和多維數(shù)據(jù)可視化[5],豐富多樣的可視化形式極大程度的為人們獲取關鍵信息帶來便利。當今世界上很多國家及地區(qū)已經(jīng)將大數(shù)據(jù)可視化技術應用到現(xiàn)實生活當中,例如我國的百度、新浪等網(wǎng)站將海量的新冠肺炎疫情數(shù)據(jù)通過表格的形式展示在同一個網(wǎng)站上,網(wǎng)民可以更加全面地獲取到目前的疫情發(fā)展情況,改變了以往數(shù)據(jù)量大,冗余度高的情況。然而,目前網(wǎng)站上的新冠肺炎大數(shù)據(jù)圖表大多只包含單一元素,不能直觀地體現(xiàn)從疫情爆發(fā)到目前為止的發(fā)展趨勢以及各項數(shù)據(jù)之間的差異,一定程度上降低了大數(shù)據(jù)的利用率。本系統(tǒng)才采用地圖與統(tǒng)計圖表相結(jié)合的方式,通過熱力地圖、二維柱狀圖、動態(tài)折線圖等方式來反映全國各項疫情數(shù)據(jù)的變化趨勢,直觀地體現(xiàn)出不同指標下的數(shù)據(jù)差異。同時,將使用可拖動的時間軸將疫情數(shù)據(jù)進行動態(tài)可視化,生動地展現(xiàn)了疫情信息大數(shù)據(jù)的內(nèi)容,豐富了疫情數(shù)據(jù)的表現(xiàn)形式。
1 大數(shù)據(jù)可視化方式
本文結(jié)合Echarts技術中主流的數(shù)據(jù)可視化展示形式[6-7],主要通過折線圖、柱狀圖、餅狀圖和中國地圖等方式,以對比統(tǒng)計圖表法、分區(qū)統(tǒng)計圖表法等方法的基本原理為依據(jù),采用不同符號標記、不同高度的二維柱狀圖、不同顏色區(qū)分等形式反映疫情數(shù)據(jù)在不同時間、不同空間的變化情況,具有很強的對比性。如圖1所示,折線圖以疫情發(fā)展的時間為x軸,確診人數(shù)量為y軸,在x軸下方還附有可以拖動的時間軸,用戶可以通過拖動時間軸來獲取特定時間段的疫情信息。中國地圖中使用不同的顏色來標記每個地區(qū)疫情數(shù)據(jù)的累計情況,從中可以直觀地看到每個地區(qū)受疫情影響的差異。系統(tǒng)針對不同的統(tǒng)計數(shù)據(jù)采用了不同的可視化方式,提高了大數(shù)據(jù)的直觀性、易讀性與空間對比性。柱狀圖以柱子的高度反映不同區(qū)域疫情數(shù)據(jù)的差異。
2 系統(tǒng)設計
2.1 可視化內(nèi)容設計
新冠肺炎疫情大數(shù)據(jù)可視化平臺以全國新冠肺炎疫情數(shù)據(jù)庫作為基礎進行建立。原始數(shù)據(jù)來自于相關政府部門已有的數(shù)據(jù)以及國家衛(wèi)建委公布的數(shù)據(jù),經(jīng)過數(shù)據(jù)的過濾清洗與整合得到目前各個地區(qū)詳細疫情數(shù)據(jù)。數(shù)據(jù)庫包括全國疫情詳情數(shù)據(jù)庫、用戶詳情數(shù)據(jù)庫。全國疫情詳情數(shù)據(jù)庫包括各省統(tǒng)計疫情情況數(shù)據(jù)表、各省詳細情況數(shù)據(jù)表等。結(jié)合數(shù)據(jù)庫內(nèi)容與平臺展示的一般需求,系統(tǒng)主要對以下四種信息對象進行可視化。
⑴ 全國疫情數(shù)據(jù)。主要字段包括省份名稱、現(xiàn)存確診人數(shù)、累計確診人數(shù)、累計疑似人數(shù)、累計治愈人數(shù)、累計死亡人數(shù)等。
⑵ 各省疫情數(shù)據(jù)。主要字段包括各省下地級市名稱、現(xiàn)存確診人數(shù)、累計確診人數(shù)、累計疑似人數(shù)、累計治愈人數(shù)、累計死亡人數(shù)等。
⑶ 湖北內(nèi)外疫情分析數(shù)據(jù)。主要字段包括湖北內(nèi)外現(xiàn)存確診、新增確診、治愈率、病死率以及湖北本地治愈率Top5、病死率Top5等。通過湖北內(nèi)外疫情數(shù)據(jù)的對比和湖北本地數(shù)據(jù)的對比,便可清晰地觀察到疫情中心區(qū)域與全國其他地區(qū)疫情數(shù)據(jù)差別。
⑷ 全國疫情分析數(shù)據(jù)。主要字段包括境外輸入Top10省市、現(xiàn)存確診Top10省市、累計確診Top10省市、現(xiàn)存疑似Top10省市、治愈率Top10省市、死亡率Top10省市等。從全國疫情發(fā)展層面分析疫情數(shù)據(jù),便可清晰地觀察到全國目前疫情發(fā)展情況。
2.2 功能設計
⑴ 全國疫情數(shù)據(jù)可視化。全國疫情模塊主要包括國內(nèi)疫情和各省疫情兩個子模塊,其中主要的可視化圖表需要實現(xiàn)數(shù)據(jù)隨時間軸來觀察特定時間段的疫情數(shù)據(jù),這樣可以迎合不同用戶對不同時間段疫情數(shù)據(jù)的需求。可視化地圖需要實現(xiàn)可以根據(jù)確診人數(shù)區(qū)間使用不同的顏色高亮顯示,方便用戶檢索。
⑵ 各省疫情數(shù)據(jù)可視化。系統(tǒng)需要實現(xiàn)以表格形式展示各省疫情情況,在數(shù)據(jù)展示上需實現(xiàn)可以根據(jù)不同的指標對表格進行重新排序,并可以通過詳情按鈕獲取各省的詳細信息。其中每個省的詳細疫情將通過數(shù)據(jù)展示、圖表展示和地圖展示三種進行可視化展示,方便用戶通過多種方式觀察各省疫情數(shù)據(jù)。
⑶ 疫情數(shù)據(jù)分析可視化。系統(tǒng)需要實現(xiàn)湖北內(nèi)外疫情分析可視化和全國疫情數(shù)據(jù)各項指標的Top10可視化,系統(tǒng)需要將湖北省內(nèi)和湖北省外的數(shù)據(jù)進行對比分析,基于相同指標的數(shù)據(jù)(如湖北內(nèi)外病死率、治愈率、新增確診、現(xiàn)存確診),進行對比可視化展示。系統(tǒng)將各項指標Top10的城市由高到低通過柱狀圖的形式進行可視化。這樣,用戶能夠快速了解到重點地區(qū)與全國其他地區(qū)疫情對比情況,有利于用戶提高安全意識。
3 系統(tǒng)架構(gòu)與實現(xiàn)
3.1 系統(tǒng)架構(gòu)
系統(tǒng)采用4層架構(gòu)設計,如圖2所示。最底層為運行支撐層,包含了基礎的軟硬件設施及網(wǎng)絡安全保障體系。數(shù)據(jù)層包含兩部分內(nèi)容:①已有的疫情詳情數(shù)據(jù)庫,利用MYSQL進行存儲;②基于新冠肺炎疫情可視化平臺需求,選取合適的大數(shù)據(jù)離線計算框架,這里選用Spark。Spark采用基于內(nèi)存進行數(shù)據(jù)處理的模式,減少了磁盤IO,大幅度地提高了計算性能及效率[8-9]。服務層包含平臺所依賴的網(wǎng)頁框架與數(shù)據(jù)服務。數(shù)據(jù)服務使用SpringBoot自帶的TomCat(一個免費的開放源代碼的Web應用服務器)構(gòu)建數(shù)據(jù)服務器,使用RESTFUL風格設計Web服務交互方案,后端響應前端請求并將數(shù)據(jù)以JSON格式傳遞給前端。最頂層為應用層,基于Layui經(jīng)典的模塊化前端框架,SpringBoot簡潔的微服務開發(fā)框架以及Echarts中豐富多樣的圖表元素庫和地圖元素庫的支持之下,最終實現(xiàn)了全國疫情數(shù)據(jù)可視化、疫情數(shù)據(jù)分析可視化、用戶信息可視化。
3.2 系統(tǒng)實現(xiàn)
全國疫情數(shù)據(jù)可視化模塊部分截圖如圖3所示。圖3(a)為全國疫情數(shù)據(jù)可視化首頁,通過簡潔的UI設計,方便用戶快速了解疫情詳情并使平臺更加人性化。圖3(b)為全國疫情數(shù)據(jù)累計模塊的部分圖表展示,疫情數(shù)據(jù)主要以折線圖和中國地圖為主。折線圖上方的圖例標明了每條折線的名稱,通過點擊圖例隱藏或者顯示相應的折線,方便用戶觀察疫情數(shù)據(jù)。圖3(c)為全國疫情數(shù)據(jù)新增模塊的部分圖表展示,其圖表展示方式與全國疫情數(shù)據(jù)累計模塊一致。
各省疫情數(shù)據(jù)可視化模塊部分截圖如圖4所示。圖4(a)為各省疫情數(shù)據(jù)可視化模塊,疫情數(shù)據(jù)以表格顯示為主,可以通過表格上方的按鈕,將疫情數(shù)據(jù)以某一屬性進行升序或者降序排序,體現(xiàn)出每個省份的數(shù)據(jù)差異,并可以通過詳情按鈕詳細觀察某一地區(qū)的疫情數(shù)據(jù)。以安徽省的疫情詳情為例,圖4(b)和圖4(c)通過數(shù)據(jù)展示、圖表展示和地圖展示這三種可視化方式,對安徽省到目前為止疫情詳情進行展示。
疫情數(shù)據(jù)分析可視化模塊部分截圖如圖5所示。圖5(a)為湖北內(nèi)外疫情分析模塊的部分圖表展示,頁面以折線圖為主,從圖5(a)中可以清楚地觀察到湖北內(nèi)外各個數(shù)據(jù)的發(fā)展趨勢,有利于數(shù)據(jù)的對比展示。圖5(b)為全國疫情分析模塊的部分圖表展示,頁面以柱狀圖為主,通過Spark進行離線分析將各項數(shù)據(jù)的Top10進行可視化展示。
4 結(jié)束語
大數(shù)據(jù)可視化旨在通過與地圖、熱力圖、散點圖等多種圖表形式,讓觀眾對問題有直觀的視覺思維,可以做到讓大眾“即看即懂”。本文系統(tǒng)基于B/S架構(gòu),借助Spark框架對疫情數(shù)據(jù)進行統(tǒng)計分析。前端網(wǎng)頁采用地圖與可視化圖形相結(jié)合的方式,借助于Echarts技術中豐富的可視化圖形庫以及地圖元素,對疫情分析數(shù)據(jù)進行多元化的展示,實現(xiàn)了新冠肺炎疫情數(shù)據(jù)可視化,對于居民提高自我防護意識,做好疫情防控工作,起著至關重要的作用。
參考文獻(References):
[1] 艾廷華.大數(shù)據(jù)驅(qū)動下的地圖學發(fā)展[J].測繪地理信息,2016.41(2):1-7
[2] 曾悠.大數(shù)據(jù)時代背景下的數(shù)據(jù)可視化概念研究[D].浙江大學,2014.
[3] 劉勘,周曉崢,周洞汝.數(shù)據(jù)可視化的研究與發(fā)展[J].計算機工程,2002.8:1-2,63
[4] 賀群,楊明川.基于Web GIS的大數(shù)據(jù)可視化研究與優(yōu)化[J].電信技術,2015.6(8):37-40
[5] 任磊,杜一,馬帥等.大數(shù)據(jù)可視分析綜述[J].軟件學報,2014.25(9):1901-1936
[6] 彭順生.基于ECharts的肺炎疫情數(shù)據(jù)處理與可視化[J].計算機時代,2020.7:47-49,53
[7] 周啟云,許新華,付昱榕,劉文文,劉夢宇.基于Echarts的可視化學情分析系統(tǒng)設計與實現(xiàn)[J].信息技術與信息化,2020.3:116-119
[8] 顧榮.大數(shù)據(jù)處理技術與系統(tǒng)研究[D].南京大學,2016.[9] 李博.基于開源軟件的大數(shù)據(jù)處理與管理平臺的研究與實現(xiàn)[D].北京郵電大學,2017.
收稿日期:2020-08-26
基金項目:江蘇省自然科學基金資助項目(BK20151160); 江蘇省大學生創(chuàng)新計劃項目(XCX2020122)
作者簡介:楊晨(1997-),男,江蘇淮安人,本科生在讀,主要研究方向:計算數(shù)學、Web開發(fā)。
通訊作者:蘇有慧(1972-),女,甘肅省白銀市人,教授,博士,主要研究方向:計算數(shù)學、Web開發(fā)。