淺談數(shù)據(jù)可視化
淺談數(shù)據(jù)可視化
|0x00 摩爾定律帶來新的機遇
說起“數(shù)據(jù)可視化”,很多人的第一反應(yīng)便聚焦在“數(shù)據(jù)”兩個字上,其實“可視化”三個字的意義要更重要一些。說起“可視化”,就需要提起一組數(shù)字:“人腦處理圖片的速度是處理文字的60000倍,人在看報紙時,99%的文字信息會自動被過濾掉,腦子里只殘留了可憐的1%,一篇6000字的文章需要10分鐘看完,而壓縮成一張圖片則只需要10/6000分鐘的時間。”
人腦處理文字信息是串行的,而處理圖片信息則是并行的。
隨著電腦在工作中的普及,尤其是互聯(lián)網(wǎng)興起之后,人類在“摩爾定律”的帶領(lǐng)下,進入了一個新的時代:信息的處理速度越來越快,新思維的迭代越來越頻繁。過去我們分析數(shù)據(jù),通過Excel便能夠完成工作;而如今的數(shù)據(jù)量動輒以TB起步,隨著我們能夠采集到的越來越多的數(shù)據(jù),如何分析這些數(shù)據(jù)、展示這些數(shù)據(jù),便成為了一個新的課題。
所以說,我們要展示的東西,還是過去沉淀的經(jīng)驗,但分析的信息和手段,則發(fā)生了天翻地覆的變化。摩爾定律帶來的新機遇,是屬于新時代里擁有新思維的人們。
|0x01 數(shù)據(jù)可視化在做什么
回歸到正題,現(xiàn)階段“數(shù)據(jù)可視化”所探索的內(nèi)容,是如何將海量的數(shù)據(jù)轉(zhuǎn)化成為交互的圖像,以視覺可以感受的方式表達,增強人的認知能力,達到發(fā)現(xiàn)、解釋、分析、探索、決策和學(xué)習(xí)的目的。數(shù)據(jù)可視化的目標(biāo),首先在于做數(shù)據(jù)的目的,數(shù)據(jù)的目的在于“準(zhǔn)確”、“清晰”的展示清楚一件事情的原貌。但數(shù)字本身是枯燥的,傳統(tǒng)意義上使用表格來展示數(shù)據(jù),雖然能夠清晰展示一件事情的全貌,但它是不直觀的,需要花費使用者一定的時間與精力來解讀。為了讓數(shù)據(jù)看起來更加直觀,讓使用者能夠第一時間讀懂?dāng)?shù)據(jù)的目的,讓數(shù)據(jù)本身更有說服力。
因此,數(shù)據(jù)可視化天然的帶有三項目標(biāo):
準(zhǔn)確:精確的展示數(shù)據(jù)的特征,既不能遺漏,也不能冗余; 清晰:理解清楚數(shù)據(jù)目的信息,時間越短越好; 優(yōu)雅:通過美觀而又協(xié)調(diào)的頁面,讓使用者的注意力盡可能多的留在頁面上。
打個比方,在大多數(shù)的傳統(tǒng)公司中,領(lǐng)導(dǎo)并不一定是最懂業(yè)務(wù)的那個,因此非常需要手下的得力干將來為自己清晰的匯報工作。領(lǐng)導(dǎo)需要了解到內(nèi)容包括:“我這個月的銷售量是多少”、“和競爭公司比怎么樣”這一類的方向。如果是你來匯報工作,直接拿幾十張表格給領(lǐng)導(dǎo),恐怕被批評一番是在所難免的。這個時候你就需要一張圖,這張圖可以展現(xiàn)全年的銷售情況,再做一些深入的挖掘,比如按照用戶畫像,即年齡、地域、性別加以區(qū)分,相對而言就會得到表揚。可視化對于不懂業(yè)務(wù)的人而言,就成為了獲取信息的最有效方式。
|0x02 互聯(lián)網(wǎng)時代的數(shù)據(jù)可視化有哪些新特征
互聯(lián)網(wǎng)時代的數(shù)據(jù)可視化,有這么幾個顯著的特征:
可視化的表現(xiàn)形式和場景更豐富; 可視化展現(xiàn)方式更多樣; 具備了動態(tài)的展示能力; 設(shè)計上更注重用戶體驗。
如果你看到如下這張圖,腦袋一定非常頭大,因為信息量過載了。

但如果看下面這張圖:疫情人群流動情況,雖然信息量同樣很大,但你卻不會覺得枯燥,甚至?xí)蚪蛴形兜亩嗫匆粫?/p>

數(shù)據(jù)可視化的細節(jié),都是要經(jīng)過細心構(gòu)思,才能夠獲得不錯的效果。如今隨著Chrome等瀏覽器的普及,通過瀏覽器來渲染更加復(fù)雜、甚至動態(tài)的圖形,已經(jīng)不再是技術(shù)難題,甚至Echarts等組件,還把這種能力給普及了,真正做到了人人都是可視化高手。
所以,今天的數(shù)據(jù)可視化,已經(jīng)不再局限于數(shù)據(jù)科學(xué)領(lǐng)域,而是延伸到了設(shè)計領(lǐng)域。
|0x03 如何準(zhǔn)備數(shù)據(jù)
說了這么多,現(xiàn)在就談一點干貨:如何準(zhǔn)備數(shù)據(jù)可視化的工作。

到了具體執(zhí)行的層面,“數(shù)據(jù)”部分就變得更重要一些了。這里我們先簡單羅列一下實現(xiàn)數(shù)據(jù)可視化的幾個步驟:
明確數(shù)據(jù)可視化的目標(biāo); 整理原始數(shù)據(jù)信息; 產(chǎn)出需要使用的數(shù)據(jù)表(維度、事實等); 選擇交互的圖表類型; 工具展示最終的效果。

首先,我們需要確定可視化的數(shù)據(jù)是圍繞什么主題或者目的來組織的,簡而言之,一個具體問題或某項業(yè)務(wù)、戰(zhàn)略目標(biāo)的提出,其實就可以對應(yīng)一個數(shù)據(jù)可視化的主題。
其次,整理數(shù)據(jù)要有一個意識,即由于前端渲染能力的有限,我們不能展示過量的數(shù)據(jù),所以需要在源頭對數(shù)據(jù)進行清洗和加工。具體需要考慮的方面包括:
是否存在空值; 數(shù)據(jù)的結(jié)構(gòu)是列表還是樹形結(jié)構(gòu); 數(shù)據(jù)量有多大; 是否需要對數(shù)據(jù)進行聚合,還是需要支持下鉆; 前端是否需要加工數(shù)據(jù)邏輯?
再次,在確定數(shù)據(jù)的基本情況后,我們就需要對數(shù)據(jù)表進行加工,由于通常在數(shù)據(jù)倉庫層會選擇Kimball維度模型進行建模,但這種模型往往無法很好的支持數(shù)據(jù)報表的展現(xiàn),因此需要對數(shù)據(jù)表進行額外的加工,如行轉(zhuǎn)列/列轉(zhuǎn)行、連續(xù)性處理、周期指標(biāo)計算等。
最后,就是選擇圖表類型,并進行展示啦。
|0x04 如何選擇圖表類型
圖表的類型非常多,剛上手的小伙伴們往往會看暈。

這是英國金融時報雜志對于圖表類型選擇的建議,有興趣的小伙伴可以訪問:https://raw.githubusercontent.com/ft-interactive/chart-doctor/master/visual-vocabulary/poster.png
這里介紹一些常見的圖表及選擇的理由:
柱形圖:優(yōu)點是能夠比較清晰的展示數(shù)據(jù)差異,用于不同分類之間的比較,但缺點是僅能支持少量分類的對比;

折線圖:能夠展示數(shù)據(jù)隨時間的變化趨勢,對于時間維度上的分類對比比較友好;

餅圖:通過面積大小的對比,能夠清晰展示分類比重的對比,但同樣僅限于少量分類的對比;

散點圖:通過兩組數(shù)據(jù)構(gòu)筑的坐標(biāo)點集合,用于判斷兩個變量之間的關(guān)聯(lián)或分布趨勢,即二維數(shù)據(jù)對比;

氣泡圖:在散點圖的基礎(chǔ)上,增加了點的面積,適合三維數(shù)據(jù)對比;

雷達圖:適合多維數(shù)據(jù)對比,通常在四維以上;

其實常見的圖表種類并不多,掌握好展示的維度、時間、分類信息之后,就可以輕松的做出選擇。

上圖鏈接地址:https://extremepresentation.com/wp-content/uploads/choosing-a-good-chart-09-1.pdf?spm=ata.13261165.0.0.5d2b1002EhCKgB&file=choosing-a-good-chart-09-1.pdf
|0x05 如何選擇可視化工具
“工欲善其事,必先利其器。”即便我們腦中有了清晰的表達方式,但如果沒有合適的工具,還是無法完成數(shù)據(jù)可視化的宏圖大業(yè)。一般來說,我們有四類工具,可以幫助我們來實現(xiàn)數(shù)據(jù)可視化。
第一類是專業(yè)的繪圖軟件,例如PS、AI等,設(shè)計師小伙伴們會很熟悉,我們可以把數(shù)據(jù)做成大概的樣子,交給設(shè)計師幫忙進行美化,做成海報、新聞稿的樣子,但這種方式非常的偏重具體結(jié)論,很難復(fù)用。
第二類是圖表插件,像大名鼎鼎的Echarts,再例如Highcharts、AntV等,主要通過JS來控制插件的展示方式,在前端頁面中非常常用。有能力的公司,也會開發(fā)一些特有的可視化控件,用于支持自身的業(yè)務(wù)。但這種方式開發(fā)過程比較繁瑣,通過調(diào)整一個美觀的樣式需要非常長的時間。
第三類是一些圖表工具,例如最簡單的Excel、PPT,或者是Tableau、FineBI等自動化工具,這類工具傾向于個人使用,在匯報工作、整理思路的時候非常好用。
第四類就是一些編程語言了,例如Python和R都有自己的可視化包,只是實現(xiàn)起來比較的難,但數(shù)據(jù)挖掘的同學(xué)就相對常用一些了。
最近有一些趨勢,就是Hadoop生態(tài) + 自助BI工具的應(yīng)用,開始變得普及。一方面是Cloudera / ODPS等Hadoop生態(tài)的越來越成熟,另一方面是Tableau / Quick BI等BI工具的越來越強大。其實搭建一個單純的數(shù)據(jù)可視化產(chǎn)品,門檻已經(jīng)降低了非常多。
|0x06 如何優(yōu)化你的數(shù)據(jù)可視化報表
接下來的知識,就涉及到數(shù)據(jù)報表的一些優(yōu)化工作了。我們經(jīng)常看到一些報表,會顯得非常沒有感情,如下圖所示:

為了解決圖標(biāo)冗余的問題,我們會通過格式塔原理來優(yōu)化圖表,減輕看圖人的視覺負擔(dān)。完整的原理一共有八項,但我們這里介紹最重要的幾個原則:臨近、相似和閉合。
臨近原則:簡單說,當(dāng)你看到相互臨近的兩個元素時,你通常傾向于它們是一個整體,例如你看到下方左圖時,你會很自然的將臨近的三個格子看成是一組,再通過顏色區(qū)分,就可以很清楚的理解圖表所表達的涵義。但如果看右邊的圖,柱子間距是等寬的,你就會產(chǎn)生非常多的困惑。事實上,我們很多的圖標(biāo)插件,都是默認等寬的,在顯示數(shù)據(jù)的時候,你只要調(diào)整一點點,視覺上就會美觀很多,它就是一個好的數(shù)據(jù)可視化圖表。

相似原則:簡單說,人在視覺上,通常是將顏色相近,或者是形象類似的元素,當(dāng)成是一個整體。例如下面的圖片中,你會很自然的將元素進行分組。

因此,我們在呈現(xiàn)折線圖時,如果將曲線的顏色進行區(qū)分,配合高亮的文字說明,會讓讀者產(chǎn)生非常直觀的印象。就像下圖這樣:

閉合原則:簡單說,如果我們將一組元素圈起來,人們就傾向于這組元素是一個整體。像下圖一樣,不論是用線條勾勒出來,還是用色塊襯托出來,你都會認為這是一個整體。

同樣的,我們將剛才的圖稍稍改造一下,加上色塊的襯托,內(nèi)容看起來就更豐富了,并且不會讓人產(chǎn)生困惑。

其實對于數(shù)據(jù)同學(xué)來說,自行調(diào)整圖表樣式會走很多的彎路,而我們要做的,就是征求設(shè)計師的意見,將圖表一些表達形態(tài)固定下來,避免自己亂造輪子。很多設(shè)計師同學(xué)會給出自己的建議,例如:

常規(guī)圖表不要使用3D效果,體積嚴(yán)重影響人類感知的精確性; 長度是最好的表達柱狀圖方式,長度與感知是線性關(guān)聯(lián)的,如下圖,左邊看起來要比右邊舒服的多: 盡量不要過度使用圓角,這樣會損耗數(shù)據(jù)的精確性。
|0xFF 學(xué)習(xí)數(shù)據(jù)可視化有什么用
那學(xué)習(xí)了這么多,用途在哪里呢?主要有如下幾種:
報表產(chǎn)品:這一類的產(chǎn)品通常業(yè)務(wù)方非常多、開發(fā)時間短、需求不確定,因此如何在提升效率的同時,提升業(yè)務(wù)方的體驗,就是一種很大的挑戰(zhàn)。阿里云生態(tài)下的ODPS + Quick BI就是一種新的嘗試。 移動端:現(xiàn)在移動端看數(shù)據(jù)的需求,比PC端重要的多,不論是對于領(lǐng)導(dǎo)隨時看數(shù)據(jù)的需求,還是業(yè)務(wù)人員隨時監(jiān)控指標(biāo)的變化,再或者是技術(shù)人員運維的需要,移動端都大有用武之地。而移動端最大的挑戰(zhàn)不是在于數(shù)據(jù),而是如何在有限的空間內(nèi),盡可能的將“可視化”的事情說清楚。 地理可視化:疫情期間的很多地理可視化應(yīng)用,對于社會輿情而言,助力頗多。
學(xué)好了“數(shù)據(jù)可視化”,就是學(xué)會了“讓數(shù)據(jù)說話”。
