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