夏海棚 周勝 熊俊杰 孫嘉 曹陽波
摘要:數據可視化主要是借助于圖形化手段,清晰有效地傳達數據信息,與溝通信息與信息圖形、信息可視化、科學可視化以及統計圖形密切相關。我們對學生的數據進行分析,可以反映出很多非常有價值的東西。對學生生活與日常消費情況數據的可視化進行分析可以讓我們進一步了解當代學生各方面信息,與此同時對其如何理財等等生活規劃問題提出合理化建議。我們調用學生數據運用柱狀圖,餅圖,雷達圖等方法供用戶選擇。在Android端,我們可以利用Android提供的SQLite數據庫對于數據進行存儲,并通過SQLite數據庫編寫業務邏輯,來讓生活中的數據和數據之間建立聯系從而實現數據可視化的功能,此外,對于結合地圖和熱點圖的構想,我們可以利用Android對于GPS應用所提供的LocationManager類結合當前一些主流的地圖的sdk進行開發從而實現其功能。
關鍵詞:學生;數據可視化;設計;Android
中圖分類號:TP311? ? ? 文獻標識碼:A? ? ?文章編號:1009-3044(2018)36-0216-02
1 背景
隨著大數據時代的到來,日常生活中的數據變得越來越復雜,如若對每一個數據都進行分析,勢必會浪費大量人力物力與時間,對于數據間錯綜復雜的關系,如何將學生生活中的數據信息恰當直觀的反映出來是我們亟待解決的問題。一幅圖勝過千言萬語,人類從外界獲得的信息約有80%來自視覺系統。現在,利用數據可視化的方法可以使得數據更直觀地展現在人們面前,并且生動形象地體現出不同數據中的內容以及它們之間的聯系,使得繁復枯燥的數據變得生動有趣。
2 數據可視化的基本思想
數據可視化的基本思想,是將數據庫中的每一個數據項看作是一個獨立的圖形元素,從而將大量的數據集合構成圖像,使得用戶可以發現隱藏在數據背后的信息并可進行交互式處理的方法、理論和技術。從而將復雜的數據 信息得以更加直觀地表達出來。
通過人機交互的技術將抽象的數據表現為直觀可視的圖形或圖像,加強了用戶對于數據的理解能力,使得復雜的數據更加容易被人們所理解。
3 學生生活中的數據可視化
3.1 應用
當下,學生群體已經是社會中不可忽視的一部分。在學生校園中存在著很多有價值的研究數據信息,比如學生的成績,學生日常支出情況等。我們對學生的這些數據進行分析,可以反映出很多非常有價值的東西。況且,如今學生群體早已是流行的風向標,對于學生的數據信息進行分析還可以更加直觀地看出當前社會的流行趨勢。
3.2 對于學生生活數據的可視化應用
對于需要可視化的學生數據,我們可以把可視化的類型分為數據關系的可視化和數據特征的可視化兩種。而數據關系的可視化,我們可以理解為反映學生數據信息之間的關聯性,比如說,每個學生每個月的支出的分類的占比情況;而所謂數據特征的可視化則是反映出一個數據的基本特征,比如說,一個學生每年績點的變化情況。
對于不同的種類我們可以使用不同的可視化方法來實現可視化。
3.2.1 對于學生日常消費情況的可視化
隨著各種花唄,白條等分期付款支付方式的完善,現在,分期付款已經成為學生進行網購的一種主流的支付方式,學生應學會管理自己的財務,因此,學會對自己的消費情況進行分析也是非常重要的一環。我們通過編寫出一款記賬功能的app使得學生可以在里面記錄自己的每一筆收入和支出,同時對每一筆款項進行詳細的分類與精準的備注。與此同時實現圖形化的功能,當學生需要的時候,該功能可以將每一筆的款項進行繪圖,例如可對任意學生在某一個時間區間里面的消費數額與種類進行統計,繪制一個餅圖,由此直觀地反映出學生的消費占比情況。這里可以是日常飲食情況,網購信息,購買日常用品多少或購買書籍數量等支出占比。也可以通過柱形圖反映任意學生在某一個時間區間的消費數額大小。通過這些圖表,可以幫助學生直觀快速地分析出自己的數據信息特點,從而讓其科學的制定出自己更加理性的消費計劃。
3.2.2 對于學生日常消費區域的可視化
對于學生的生活數據,我們可以通過熱度圖來對學生的喜好進行分析,我們可以在上面提到的app的基礎上開發一個平臺,這個平臺可以添加當前一些主流的地圖的sdk。用戶如果覺得一個地方很不錯,就可以通過這個平臺給這個地方進行點贊的操作,隨著某個地方收到的贊的數量的增加,我們可以逐漸在地圖上加深這個地方的顏色。由此用戶便通過熱度圖快速發現當前熱門與受歡迎的消費場所,為自己提供參考。
4 對于學生生活數據可視化的實現
4.1 數據可視化的方法
4.1.1 傳統方法
比較傳統的可視化方法有柱狀圖,折線圖,餅圖,表格,流程圖等。在這里,以柱狀圖和餅圖為例進行說明。
4.1.1.1 柱狀圖
柱狀圖一般用于展示二維數據,在一般情況下,用橫坐標表示數據的類別,縱坐標表示相應的數據的數值,即利用柱子的高度反映數據的差異,因此柱狀圖是對單一維度的數據的一種有效的比較方法。
在學生生活數據的可視化中,我們可以利用柱狀圖的特點,對學生的消費情況類別進行繪制柱狀圖,這樣可以一目了然地看出學生在某段時間區間消費的大致情況。
4.1.1.2 餅圖
對于需要進行按比例分析的數據,我們可以將它繪制為餅圖。餅圖是通過將圓分割為多個扇形來表達不同類別的數據占總體的比例。對于它們之間的大小關系,餅圖的功能實際上包含在擴展的柱狀圖里面了,但是使用餅圖意味著要著重強調數據間的比例關系,而不是具體的數值,從而滿足了特定的要求。
4.1.2 雷達圖
雷達圖是多維數據可視化比較的有效工具,其是由多個同心圓和一組坐標組成的圖形,能夠將多個指標映射到一個坐標系上進行比較分析??梢哉宫F出數據集中各個數據的權重的高低情況。
根據雷達圖的特點,我們可以把學生生活數據中不僅需要一目了然看出差距,還要看出其在整體中所占的比重的數據信息繪制為雷達圖的形式。例如:學生在一段時間區間中的各項支出數據,以及其在整體中的占比情況。
4.1.3 地圖與熱度圖
地圖常因具有存儲、展示和分析空間數據的屬性信息等功能,而被作為一種可視化的表達工具,用于展示與空間數據相關的信息。熱度圖通常與地圖配合使用。其原理就是通過在地圖上用特殊高亮的形式顯示用戶所熱衷的地理區域的圖示。從而告訴你地圖的哪些部分吸引了更多用戶的注意。
針對熱度圖的特點,我們可以把學生生活數據信息中需要和空間相結合的數據信息在地圖上附加繪制出熱度圖,借此反映出學生的愛好等各種數據信息。
4.2 在Android上實現對于學生生活數據的可視化
4.2.1 對于數據的存儲:SQLite數據庫
Android系統集成了一個輕量級的數據庫:SQLite,SQLite本質上只是一個嵌入式的數據庫引擎,專門適用于資源有限的設備(智能手機,平板電腦等PDA產品)上適量的數據存取。從本質上看,SQLite的操作方式只是一種便捷的文件操作,當用戶創建或打開一個SQLite數據庫時,其實只是打開了一個文件準備進行讀寫。
Android提供了SQLiteDatebase代表了一個數據庫,一旦應用程序獲得了代表指定數據庫的SQLiteDatebase對象,就可以通過該對象來進行管理和操作數據庫。
4.2.2 基于SQLite數據庫在Android端對學生生活數據進行可視化
我們可以在數據庫中先創建表,通過表來管理我們所需要的數據。例如:我們如需對用戶平時的消費數據進行可視化分析,那么我們可以創建一張表,里面記錄了用戶近一段時間的各種支出的金額以及種類情況。將數據插入數據表時,我們在布局設計上,存在一組單選按鈕、一個輸入框,一個Button組件,通過一個Button組件將輸入框、單選按鈕與數據表建立聯系,當事件監聽器監聽到單擊按鈕事件發生時,將輸入框中的數據,還有單選按鈕對應的內容插入到數據表之中。又當我們要對數據進行可視化的分析時,需要在布局界面上增加一個Button組件,當單擊這個組件時,我們可以通過開發自定義的View來實現在一個新的界面上繪制自己想要的外觀。由此,我們可以通過讀取SQLite數據庫中關于學生消費情況表的數據來在新的界面上繪制自己所需的圖形。
以學生的日常開銷數據為例:
當我們需要使用柱狀圖對數據進行可視化時,我們以所有的開銷種類作為橫軸,以開銷的金額數量作為縱軸,讀取數據表中每一項開銷種類所對應的數據信息,再通過合適的比例繪制出每一個柱相應的高度。
我們還可以使用折線圖來反映每一個種類的開銷在一段時間區間中的趨勢。我們以相同的時間間隔作為橫軸,以當前選擇種類的開銷金額數量作為縱軸。對應每段時間內的開銷,通過折線將點連接起來,就可以反映出該種類在當前時間段中的趨勢。
當我們需要觀察每個種類開銷在總開銷中的占比時,我們可以使用餅圖來對數據進行可視化。我們首先要計算出每個種類的金額在總的開銷金額中的占比,然后將圓劃分為于金額占比大小相同的幾個扇形區域,并用不同的顏色對其進行填充。
4.2.3 對于Android中GPS的應用:整合Map服務(使用熱度圖進行數據可視化)
Android為GPS功能支持專門提供了一個LocationManager類,所有GPS定位相關的服務、對象都由該對象來產生。程序并不能直接創建LocationManager的實例,而是通過調用Context的getSystemService()方法來獲取,一旦在程序中獲得LocationManager的對象之后,就可以調用其方法,來獲取GPS定位的相關服務和對象,但是通過以上方法所獲得的GPS定位信息只不過是一些數字的經緯度,我們需要首先把這些經緯度數值首先通過Map服務整合起來,然后整合數據以此來實現對于在地圖上繪制熱度圖來對數據進行可視化的分析。
例如筆者在上文所提及的,設計一個集合了各種地圖的sdk的平臺,通過GPS定位,一個用戶若是覺得某個地方很不錯,就可以給這個地方點贊,同時將這個地點的經緯度傳送到后端服務器上。當查看熱度圖時,系統從后端服務器調取數據,通過相應的密度計算的算法將點贊集中的區域的設置為高亮的形式,這樣就可以通過熱度圖來反映學生對什么地方感興趣,從而給其他學生用作參考數據。
5 結束語
學生的生活數據信息是一個比較復雜的對象。如果我們想從這些復雜的數據關系中挖掘出有價值的信息,便可通過數據可視化的技術對其進行處理使得這些數據信息更為直觀地呈現在用戶面前。在可視化的過程中,數據將會變得更具備可塑性、可行性,最終更加人性化。由此幫助用戶完善自己的日常生活,提高用戶的生活質量。
參考文獻:
[1] 李剛.瘋狂的Android講義[M].3版.北京: 電子工業出版社,2015.
[2] Julie Steele, Noah Iliinsky. 數據可視化之美[M]. 北京:機械工業出版社.
[3] 任磊,杜一,馬帥,等.大數據可視分析綜述[J].軟件學報, 2014, 25(9).
[4] 陸遙.數據可視化探索系統的設計和實現[D]. 杭州: 浙江大學, 2016.
[5] 楊小芳.網絡數據的可視化研究與實現[D]. 北京: 北京郵電大學, 2016.
[6] 古恒.信息可視化技術研究與實現[D]. 北京: 北京郵電大學, 2016.
[7] 趙健霏.信息網絡可視化分析系統研究與實現[D]. 北京: 北京郵電大學, 2016.
[8] 吳春姍.醫療數據挖掘可視化系統的研究與實現[D]. 北京: 北京郵電大學, 2017.
[通聯編輯:謝媛媛]