99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)可視化6步法
數(shù)據(jù)可視化6步法
2015-12-02
收藏

數(shù)據(jù)可視化6步法


在當前互聯(lián)網(wǎng),各種數(shù)據(jù)可視化圖表層出不窮,本文嘗試對數(shù)據(jù)可視化的方法進行歸納,整理成6步法。


一般的數(shù)據(jù)圖表都可以拆分成最基本的兩類元素: 所描述的事物及這個事物的數(shù)值,我們暫且將其分別定義為指標和指標值。比如一個性別分布中,男性占比30%,女性占比70%,那么指標就是男性、女性,指標值對應(yīng)為30%、70%。


1.  將指標值圖形化

一個指標值就是一個數(shù)據(jù),將數(shù)據(jù)的大小以圖形的方式表現(xiàn)。比如用柱形圖的長度或高度表現(xiàn)數(shù)據(jù)大小,這也是最常用的可視化形式。

傳統(tǒng)的柱形圖、餅圖有可能會帶來審美疲勞,可嘗試從圖形的視覺樣式上進行一些創(chuàng)新,常用的方法就是將圖形與指標的含義關(guān)聯(lián)起來。

比如Google Zeitgeist在展現(xiàn)top10的搜索詞時,展示的就是“搜索”形狀的柱形,圖形與指標的含義相吻合,同時也做了立體的視覺變化:


2. 將指標圖形化

一般用與指標含義相近的icon來表現(xiàn),使用場景也比較多,如下:


3.將指標關(guān)系圖形化

當存在多個指標時,挖掘指標之間的關(guān)系,并將其圖形化表達,可提升圖表的可視化深度。常見有以下兩種方式:


借助已有的場景來表現(xiàn)

聯(lián)想自然或社會中有無場景與指標關(guān)系類似,然后借助此場景來表現(xiàn)。

比如百度統(tǒng)計流量研究院操作系統(tǒng)的分布,首先分為windows、mac還有其他操作系統(tǒng),windows又包含xp、2003等多種子系統(tǒng)。

根據(jù)這種關(guān)系聯(lián)想,發(fā)現(xiàn)宇宙星系中也有類似的關(guān)系: 宇宙中有很多星系,我們最為熟悉的是太陽系,太陽系中又包括各個行星, 因此整體借用宇宙星系的場景,將熟知的windows比喻成太陽系,將xp、window7等比喻成太陽系中的行星,將mac和其他系統(tǒng)比喻成其他星系,表現(xiàn)如下:


構(gòu)建場景來表現(xiàn)

指標之間往往具有一些關(guān)聯(lián)特征,如從簡單到復(fù)雜、從低級到高級、從前到后等等。如無法找到已存在的對應(yīng)場景,也可構(gòu)建場景。

比如百度統(tǒng)計流量研究院中的學(xué)歷分布,指標分別是小學(xué)、初中、高中、本科等等,它們之間是一種越爬越高,從低等級到高等級的關(guān)系,那么,這種關(guān)系可以通過構(gòu)建一個臺階去表現(xiàn),如下:



支付寶新出的個人年度賬單中,在描述付款最多的三項時,構(gòu)建了一個領(lǐng)獎臺的形式:


小結(jié):

根據(jù)之前3步,可將指標、指標值和指標關(guān)系分別進行圖形化處理。

以最簡單的性別分布為例,可以得到一個線性的可視化過程,如下:


以上圖示為供參考的線性化過程,實際可視化思考中,將哪類元素進行圖形化或者圖形化前后的順序可能均有不同,需根據(jù)具體情況處理。

4. 將時間和空間可視化

時間

通過時間的維度來查看指標值的變化情況,一般通過增加時間軸的形式,也就是常見的趨勢圖。

空間

當圖表存在地域信息并且需要突出表現(xiàn)的時候,可用地圖將空間可視化,地圖作為主背景呈現(xiàn)所有信息點。

Google Zeitgeist在2010和2012年的年度熱門回顧中,都是以地圖為主要載體(同時也結(jié)合了時間),來呈現(xiàn)熱門事件:

5. 將數(shù)據(jù)進行概念轉(zhuǎn)換


先看下生活中的概念轉(zhuǎn)換,當我們需要喝水時,通常會說:給我來一杯水;而不會說:給我來30ml的水。在這里,30ml是一個實際數(shù)據(jù),但是難以感知,所以用一杯的概念來轉(zhuǎn)換。

同樣在數(shù)據(jù)可視化,有時需要對數(shù)據(jù)進行概念轉(zhuǎn)換,可加深用戶對數(shù)據(jù)的感知。常用方法有對比和比喻:

對比:

下圖是一個介紹中國煙民數(shù)量的圖表:如果只看左半部分中國煙民的數(shù)量:32000000,知道數(shù)據(jù)量級很大,但具體有多大卻很難感知;直到看到右半部分:中國煙民數(shù)量超過了美國人口總和,這樣一對比,對數(shù)據(jù)的感知就加深了。

比喻

下圖是一個介紹雅虎郵箱處理數(shù)據(jù)量的圖表,大意是每小時處理的電子郵件大小有1.2TB,相當于644245094張打印的紙。

這又是一個很大的數(shù)據(jù),但到底有多大? 在這里用了一個比喻的手法:644245094張紙,如果把每一張紙首尾對接,可以繞地球4圈多。到這里,能較深刻感受到雅虎郵箱處理的數(shù)據(jù)量之大,為地球節(jié)省了很多紙張。

更進一步地,還將這個比喻進行了圖形化表現(xiàn)。

6.讓圖表“動”起來

數(shù)據(jù)圖形化完成后,可結(jié)合實際情況,將其變?yōu)閯討B(tài)化和可操控性的圖表,用戶在操控過程中能更好地感知數(shù)據(jù)的變化過程,提升體驗。

實現(xiàn)動態(tài)化通常以下兩種方式: 交互和動畫。


交互

交互包括鼠標浮動、點擊、多圖表時的聯(lián)動響應(yīng)等等,如下是百度統(tǒng)計流量研究院的時間分布圖,采用左圖右表的聯(lián)動形式,左圖中,鼠標浮動則顯示對應(yīng)數(shù)據(jù),點擊則切換選擇:

動畫

包括增加入場動畫、交互過程的動畫、播放動畫等等。

入場動畫:即在頁面載入后,給圖表一個“生長”的過程,取代“數(shù)據(jù)載入中”這樣的提示文字。

交互動畫:用戶發(fā)生交互行為后,通過動畫形式給以及時反饋。

播放動畫:一般來是提供播放功能,像看視頻一樣,讓用戶能夠完整看到數(shù)據(jù)隨時間變化的過程。下圖是Gapminder在描述多維數(shù)據(jù)時,提供隨時間播放的功能,可以直觀感受到所有數(shù)據(jù)的變化。


總結(jié)

數(shù)據(jù)可視化形式多樣,思考過程也不盡相同。以上6步法,是基于“數(shù)據(jù)”層面(區(qū)別于信息可視化),梳理思考過程,總結(jié)設(shè)計方法,為后續(xù)可視化提供可借鑒的思路。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }