最近很多朋友跟我抱怨:為了公司數(shù)據(jù)好看,老板一個(gè)勁地想要數(shù)據(jù)可視化,以為可視化就是畫(huà)畫(huà)圖表這么簡(jiǎn)單,可苦了自己天天加班做數(shù)據(jù),但其實(shí)老板根本不懂可視化!
確實(shí),數(shù)據(jù)可視化無(wú)疑是當(dāng)今最火熱的詞,不管是做什么數(shù)據(jù),似乎都要拿來(lái)做一下可視化才行,但很多人都對(duì)數(shù)據(jù)可視化沒(méi)有一個(gè)具體的概念,也不知道該如何實(shí)現(xiàn)可視化。所以,話不多說(shuō),下面就帶大家由淺入深地學(xué)習(xí)數(shù)據(jù)可視化的定義、概念、實(shí)現(xiàn)過(guò)程和方法。
一、什么是數(shù)據(jù)可視化
科學(xué)可視化、 信息可視化和可視分析學(xué)三個(gè)學(xué)科方向通常被看成可視化的三個(gè)主要分支。而將這三個(gè)分支整合在一起形成的新學(xué)科 “數(shù)據(jù)可視化”,這是可視化研究領(lǐng)域的新起點(diǎn)。
廣義的數(shù)據(jù)可視化涉及信息技術(shù)、自然科學(xué)、統(tǒng)計(jì)分析、圖形學(xué)、交互、地理信息等多種學(xué)科。
1、科學(xué)可視化
科學(xué)可視化是科學(xué)之中的一個(gè)跨學(xué)科研究與應(yīng)用領(lǐng)域,主要關(guān)注三維現(xiàn)象的可視化,如建筑學(xué)、氣象學(xué)、醫(yī)學(xué)或生物學(xué)方面的各種系統(tǒng),重點(diǎn)在于對(duì)體、面以及光源等等的逼真渲染,目的是以圖形方式說(shuō)明科學(xué)數(shù)據(jù),使科學(xué)家能夠從數(shù)據(jù)中了解、說(shuō)明和收集規(guī)律。
2、信息可視化
信息可視化是研究抽象數(shù)據(jù)的交互式視覺(jué)表示以加強(qiáng)人類認(rèn)知。 抽象數(shù)據(jù)包括數(shù)字和非數(shù)字?jǐn)?shù)據(jù),如地理信息與文本。柱狀圖、趨勢(shì)圖、流程圖、樹(shù)狀圖等,都屬于信息可視化,這些圖形的設(shè)計(jì)都將抽象的概念轉(zhuǎn)化成為可視化信息。
3、可視分析學(xué)
可視分析學(xué)是隨著科學(xué)可視化和信息可視化發(fā)展而形成的新領(lǐng)域,重點(diǎn)是通過(guò)交互式視覺(jué)界面進(jìn)行分析推理。
二、為什么需要數(shù)據(jù)可視化
人類利用視覺(jué)獲取的信息量,遠(yuǎn)遠(yuǎn)超出其他器官,而數(shù)據(jù)可視化正是利用人類天生技能來(lái)增強(qiáng)數(shù)據(jù)處理和組織效率。
可視化可以幫助我們處理更加復(fù)雜的信息并增強(qiáng)記憶。
大多數(shù)人對(duì)統(tǒng)計(jì)數(shù)據(jù)了解甚少,基本統(tǒng)計(jì)方法(平均值、中位數(shù)、范圍等)并不符合人類的認(rèn)知天性。 最著名的一個(gè)例子是 Anscombe 的四重奏,根據(jù)統(tǒng)計(jì)方法看數(shù)據(jù)很難看出規(guī)律,但一可視化出來(lái),規(guī)律就非常清楚。
三、如何實(shí)現(xiàn)數(shù)據(jù)可視化
在技術(shù)上,數(shù)據(jù)可視化最簡(jiǎn)單的理解,就是數(shù)據(jù)空間到圖形空間的映射。
一個(gè)經(jīng)典的可視化實(shí)現(xiàn)流程,是先對(duì)數(shù)據(jù)進(jìn)行加工過(guò)濾,轉(zhuǎn)變成視覺(jué)可表達(dá)的形式(Visual Form),然后再渲染成用戶可見(jiàn)的視圖(View)。
可視化技術(shù)棧
具備專業(yè)素養(yǎng)的數(shù)據(jù)可視化工程師一般來(lái)說(shuō)需要掌握以下技術(shù)棧:
- 基礎(chǔ)數(shù)學(xué):三角函數(shù)、線性代數(shù)、幾何算法
- 圖形相關(guān):canvas、svg、webgl、計(jì)算圖形學(xué)、圖論
- 工程算法:基礎(chǔ)算法、統(tǒng)計(jì)算法、常用的布局算法
- 數(shù)據(jù)分析:數(shù)據(jù)清洗、統(tǒng)計(jì)學(xué)、數(shù)據(jù)建模
- 設(shè)計(jì)美學(xué):設(shè)計(jì)原則、美學(xué)評(píng)判、顏色、交互、認(rèn)知
- 可視化基礎(chǔ):可視化編碼、可視分析、圖形交互
- 可視化解決方案:圖表的正確使用、常見(jiàn)的業(yè)務(wù)的可視化場(chǎng)景
四、常用的數(shù)據(jù)可視化工具
學(xué)術(shù)界用得比較多的是R語(yǔ)言、ggplot2、Python可視化庫(kù)等,普通用戶喜聞樂(lè)見(jiàn)的是 Excel,商業(yè)上的產(chǎn)品是Tableau、DOMO、 FineBI等等,是個(gè)精彩紛呈的世界。
1、D3
D3.js 是一個(gè)基于數(shù)據(jù)操作文檔的 JAVAScript 庫(kù)。 D3 可以將強(qiáng)大的可視化組件和數(shù)據(jù)驅(qū)動(dòng)的 DOM 操作方法完美結(jié)合。
評(píng)價(jià):強(qiáng)大的 SVG 操作能力,可以非常容易的將數(shù)據(jù)映射為 SVG 屬性,還集成了大量數(shù)據(jù)處理、布局算法和計(jì)算圖形的工具方法,有著強(qiáng)大的社區(qū)和豐富的 demo,但是API 太底層,復(fù)用性低,學(xué)習(xí)與使用成本高。
2、HighCharts
HighCharts 是一個(gè)用純 JavaScript 編寫(xiě)的圖表庫(kù), 能夠簡(jiǎn)單便捷的在 Web 應(yīng)用上添加交互性圖表。這是在 Web 上使用最廣泛的圖表,企業(yè)使用需要購(gòu)買(mǎi)商業(yè)授權(quán)。
評(píng)價(jià):使用門(mén)檻極低,兼容性好,且使用廣泛,非常成熟,但是樣式比較陳舊、圖表難以擴(kuò)展,商業(yè)上使用需要購(gòu)買(mǎi)版權(quán)
3、ECharts
企業(yè)級(jí)圖表,開(kāi)源來(lái)自百度數(shù)據(jù)可視化團(tuán)隊(duì),是一個(gè)純 Javascript 的圖表庫(kù),可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器。
評(píng)價(jià):豐富的圖表類型,覆蓋主流常規(guī)的統(tǒng)計(jì)圖表,而且配置項(xiàng)驅(qū)動(dòng),三級(jí)個(gè)性化圖表樣式管理,但是靈活性上不如 Vega 等基于圖形語(yǔ)法的類庫(kù),一些復(fù)雜關(guān)系型圖表比較難定制
4、Leaflet
Leaflet 是面向移動(dòng)設(shè)備的交互式地圖的 JavaScript 庫(kù)。 測(cè)量的 JS 只有大約 38 KB,它具有大多數(shù)開(kāi)發(fā)人員需要的所有映射功能。
評(píng)價(jià):專門(mén)針對(duì)地圖應(yīng)用,mobile 兼容性良好,API 簡(jiǎn)潔、支持插件機(jī)制,但是功能比較簡(jiǎn)單,需要具備二次開(kāi)發(fā)能力
5、Vega
Vega 是一套交互圖形語(yǔ)法,定義了數(shù)據(jù)到圖形的映射規(guī)則、常見(jiàn)的交互語(yǔ)法和常見(jiàn)的圖形元素,用戶可以自由使用 Vega 語(yǔ)法進(jìn)行組合構(gòu)建出各種各樣的圖表。
評(píng)價(jià):完全基于 JSON 語(yǔ)法,提供從數(shù)據(jù)到圖形的映射規(guī)則,支持常見(jiàn)的交互語(yǔ)法,但是其本身有著復(fù)雜的語(yǔ)法設(shè)計(jì),使用和學(xué)習(xí)成本很高
6、deck.gl
deck.gl 是 Uber 可視化團(tuán)隊(duì)基于 WebGL 開(kāi)發(fā)的面向大數(shù)據(jù)分析的可視化類庫(kù)。
評(píng)價(jià):主要以 3D 地圖可視化為主,內(nèi)置了地理信息可視化常見(jiàn)的場(chǎng)景,支持大規(guī)模數(shù)據(jù)的可視化,但是需要具備 WebGL 的知識(shí),層的擴(kuò)展比較復(fù)雜
7、FineReport
FineReport報(bào)表軟件是一款純Java編寫(xiě)的、集數(shù)據(jù)展示(報(bào)表)和數(shù)據(jù)錄入(表單)功能于一身的企業(yè)級(jí)web報(bào)表工具,僅需簡(jiǎn)單的拖拽操作便可以設(shè)計(jì)復(fù)雜的中國(guó)式報(bào)表,搭建數(shù)據(jù)決策分析系統(tǒng)。
評(píng)價(jià):可以直連數(shù)據(jù)庫(kù),方便快捷的定制各種復(fù)雜表樣,用來(lái)做出固定格式的周報(bào)、月報(bào)等。它的格式類似于excel界面,特色功能報(bào)表制作,報(bào)表權(quán)限分配,報(bào)表管理還有填報(bào),支持多種數(shù)據(jù)庫(kù)。
8、Tableau
Tableau是桌面系統(tǒng)中最簡(jiǎn)單的商業(yè)智能工具軟件,沒(méi)有強(qiáng)迫用戶編寫(xiě)自定義代碼,新的控制臺(tái)也可完全自定義配置。在控制臺(tái)上,不僅能夠監(jiān)測(cè)信息,而且還提供完整的分析能力。
評(píng)價(jià):全球知名的BI工具,價(jià)格6000元/年/人左右,但是國(guó)外產(chǎn)品不花錢(qián)不會(huì)為你做任何定制化改動(dòng),售后很有問(wèn)題。
9、FineBI
FineBI是商業(yè)智能BI工具,與Tableau類似,都主張可視化的探索性分析,有點(diǎn)像加強(qiáng)版的數(shù)據(jù)透視表。上手簡(jiǎn)單,可視化庫(kù)豐富。可以充當(dāng)數(shù)據(jù)報(bào)表的門(mén)戶,也可以充當(dāng)各業(yè)務(wù)分析的平臺(tái)。
評(píng)價(jià):FineBI做到了自助式分析,圖表類型豐富,數(shù)據(jù)分析功能較強(qiáng)大,鉆取,篩選,分組等功能都有。
10、Power BI
Power BI 是一套商業(yè)分析工具,用于在組織中提供見(jiàn)解。可連接數(shù)百個(gè)數(shù)據(jù)源、簡(jiǎn)化數(shù)據(jù)準(zhǔn)備并提供即席分析。生成美觀的報(bào)表并進(jìn)行發(fā)布,供組織在 Web 和移動(dòng)設(shè)備上使用。
評(píng)價(jià):類似于excel的桌面bi工具,功能比excel更加強(qiáng)大。支持多種數(shù)據(jù)源。價(jià)格便宜。但是只能作為單獨(dú)的bi工具使用,沒(méi)辦法和現(xiàn)有的系統(tǒng)結(jié)合到一起。
總結(jié)
數(shù)據(jù)可視化是個(gè)龐大的領(lǐng)域,涉及的學(xué)科非常多,但正是因?yàn)檫@種跨學(xué)科性,讓可視化領(lǐng)域充滿活力與機(jī)遇。
更多關(guān)于數(shù)據(jù)分析的干貨,可以關(guān)注我的微信公眾號(hào)“數(shù)據(jù)分析不是個(gè)事兒”獲取更多!






