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

熱線電話:13121318867

登錄
首頁精彩閱讀大數(shù)據(jù):分類型數(shù)據(jù)可視化方法研究報告
大數(shù)據(jù):分類型數(shù)據(jù)可視化方法研究報告
2018-08-21
收藏

大數(shù)據(jù):分類型數(shù)據(jù)可視化方法研究報告

數(shù)據(jù)可視化可以將海量數(shù)據(jù)通過圖形、表格等形式直觀反映給大眾。降低數(shù)據(jù)讀取門檻,可以讓企業(yè)通過形象化方式對自身產(chǎn)品進行營銷。

一、數(shù)據(jù)可視化原理

數(shù)據(jù)化可視原理是綜合運用計算機圖形學、圖像、人機交互等技術(shù),將采集或模擬的數(shù)據(jù)映射為可識別的圖形、圖像、視頻或者動畫,并允許用戶對數(shù)據(jù)進行交互分析的理論方法和技術(shù)。

數(shù)據(jù)可視化可以將不可見的現(xiàn)象轉(zhuǎn)換為可見的圖形符號,并從中發(fā)現(xiàn)規(guī)律從而獲取知識。在實際應用中,它可以針對復雜和大規(guī)模的數(shù)據(jù),還原增強數(shù)據(jù)中的全局結(jié)構(gòu)和具體細節(jié)。

二、 可視化方法

1. 數(shù)據(jù)采集:數(shù)據(jù)是可視化對象,可以通過儀器采樣,調(diào)查記錄、模擬計算等方式采集。在可視化解決方案中,了解數(shù)據(jù)來源采集方法和數(shù)據(jù)屬性,才能有的放矢解決問題。

2. 數(shù)據(jù)處理和變換:原始數(shù)據(jù)含有噪音和誤差同時數(shù)據(jù)模式和特征往往被隱藏。通過去噪、數(shù)據(jù)清洗、提取特征等變換為用戶可理解模式。

3. 可視化映射(核心):將數(shù)據(jù)的數(shù)值、空間坐標、不同位置數(shù)據(jù)間的聯(lián)系等映射為可視化視覺通道的不同元素如標記、位置、形狀、大小和顏色等。最終讓用戶通過可視化洞察數(shù)據(jù)和數(shù)據(jù)背后隱含的現(xiàn)象和規(guī)律。

4. 用戶感知:用戶感知從數(shù)據(jù)可視化結(jié)果中提取信息、知識和靈感。數(shù)據(jù)可視化可用于從數(shù)據(jù)中探索新的假設,也可嚴重相關(guān)假設與數(shù)據(jù)是否吻合,還可幫助專家向公眾展示數(shù)據(jù)中的信息。

用戶感知可以在任何時期反作用于數(shù)據(jù)的采集、處理變換以及映射過程中,如下圖所示:

三、具體操作

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、7等多種子系統(tǒng)。

宇宙星系中也有類似的關(guān)系: 宇宙中有很多星系,我們最為熟悉的是太陽系,太陽系中又包括各個行星。根據(jù)這種關(guān)系聯(lián)想,圖表整體借用宇宙星系的場景,將熟知的Windows比喻成太陽系,將XP、Window7等系統(tǒng)比喻成太陽系中的行星,將Mac和其他系統(tǒng)比喻成其他星系。

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

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

比如百度統(tǒng)計流量研究院中的學歷分布:指標分別是小學、初中、高中、本科等等。

各個類目之間是一種階梯式的關(guān)系,因此,平臺就設計了一個階梯式的圖直觀的反映出了數(shù)據(jù)呈階梯式遞進的趨勢。

再比如:支付寶年初出的個人年度賬單中,在描述付款最多的三項時設計了一個類似頒獎臺的樣式也很出彩:(然而并沒有覺得我在哪個類目買買買付款最多有什么驕傲的)

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

4. 將時間和空間可視化

時間

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

空間

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

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

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

先看下生活中的概念轉(zhuǎn)換,當我們需要喝水時,通常會說給我來杯水而不是給我來500ml 的水。要注意來(一)杯水,是具象的,并不是用量化的數(shù)據(jù)來形容。在這里,500ml就是一個具體的數(shù)據(jù),但是它難以被感知,所以用(一)杯的概念來轉(zhuǎn)換。

同樣在數(shù)據(jù)可視化,有時需要對數(shù)據(jù)進行概念轉(zhuǎn)換。這是為了加深用戶對數(shù)據(jù)的感知,常用方法有對比和比喻。感知就是一個將數(shù)據(jù)由抽象轉(zhuǎn)化為具象的過程。

對比

比如下圖就是一個介紹中國煙民數(shù)量的圖表。如果只看左半部分中國煙民的數(shù)量:32000000(個十百千萬十萬百萬千萬億…)好吧數(shù)據(jù)量級很大,不論是數(shù)零還是數(shù)逗號都很容易數(shù)錯,而且具體這個數(shù)字有多大仍然很難感知。讓我們目光向右移動,來看右半部分:中國煙民數(shù)量超過了美國人口總和,太恐怖了。這樣一對比,對數(shù)據(jù)的感知就加深了。

比喻

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

上面這個翻譯很無聊是不是,但這并不是問題的重點,這個數(shù)它到底有多大呢? 文案中用了一個比喻的手法:大意就是將這些郵件打印出來首尾相連可以繞地球4圈。嗯,比香飄飄奶瓶還多3圈。到這里,我相信大家肯定能初步感受到雅虎郵箱每天處理的數(shù)據(jù)量有多大了吧,而且還沒有被打印出來,為地球節(jié)省了很多紙(假裝環(huán)保)。

6.讓圖表“動”起來

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

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

交互

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

動畫

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

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

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

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

數(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)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 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); }