最近很多朋友跟我抱怨:為了公司資料好看,老闆一個勁地想要資料視覺化,以為視覺化就是畫畫圖表這麼簡單,可苦了自己天天加班做資料,但其實老闆根本不懂視覺化!
確實,資料視覺化無疑是當今最火熱的詞,不管是做什麼資料,似乎都要拿來做一下視覺化才行,但很多人都對資料視覺化沒有一個具體的概念,也不知道該如何實現視覺化。所以,話不多說,下面就帶大家由淺入深地學習資料視覺化的定義、概念、實現過程和方法。
一、什麼是資料視覺化
科學視覺化、 資訊視覺化和可視分析學三個學科方向通常被看成視覺化的三個主要分支。而將這三個分支整合在一起形成的新學科「 資料視覺化」,這是視覺化研究領域的新起點。
廣義的資料視覺化涉及資訊技術、自然科學、統計分析、圖形學、交互、地理資訊等多種學科。
1、科學視覺化
科學視覺化是科學之中的一個跨學科研究與應用領域,主要關注三維現象的視覺化,如建築學、氣象學、醫學或生物學方面的各種系統,重點在於對體、面以及光源等等的逼真渲染,目的是以圖形方式說明科學資料,使科學家能夠從資料中瞭解、說明和收集規律。
2、資訊視覺化
資訊視覺化是研究抽象資料的互動式視覺表示以加強人類認知。 抽象資料包括數位和非數位資料,如地理資訊與文本。柱狀圖、趨勢圖、流程圖、樹狀圖等,都屬於資訊視覺化,這些圖形的設計都將抽象的概念轉化成為視覺化資訊。
3、可視分析學
可視分析學是隨著科學視覺化和資訊視覺化發展而形成的新領域,重點是透過互動式視覺介面進行分析推理。
二、為什麼需要資料視覺化
人類利用視覺獲取的資訊量,遠遠超出其他器官,而資料視覺化正是利用人類天生技能來增強資料處理和組織效率。
視覺化可以説明我們處理更加複雜的資訊並增強記憶。
大多數人對統計資料瞭解甚少,基本統計方法(平均值、中位數、範圍等)並不符合人類的認知天性。 最著名的一個例子是 Anscombe 的四重奏,根據統計方法看資料很難看出規律,但一視覺化出來,規律就非常清楚。
三、如何實現資料視覺化
在技術上,資料視覺化最簡單的理解,就是資料空間到圖形空間的映射。
一個經典的視覺化實現流程,是先對資料進行加工過濾,轉變成視覺可表達的形式(Visual Form),然後再渲染成用戶可見的視圖(View)。
視覺化技術棧
具備專業素養的資料視覺化工程師一般來說需要掌握以下技術棧:
- 基礎數學:三角函數、線性代數、幾何演算法
- 圖形相關:canvas、svg、webgl、計算圖形學、圖論
- 工程演算法:基礎演算法、統計演算法、常用的佈局演算法
- 資料分析:資料清洗、統計學、資料建模
- 設計美學:設計原則、美學評判、顏色、交互、認知
- 視覺化基礎:視覺化編碼、可視分析、圖形交互
- 視覺化解決方案:圖表的正確使用、常見的業務的視覺化場景
四、常用的資料視覺化工具
學術界用得比較多的是R語言、ggplot2、Python視覺化庫等,普通使用者喜聞樂見的是 Excel,商業上的產品是Tableau、DOMO、 FineBI等,是個精彩紛呈的世界。
FineReport報表軟體是一款純Java編寫的、集資料展示(報表)和資料錄入(表單)功能於一身的企業級web報表工具,僅需簡單的拖拽操作便可以設計複雜的報表,搭建資料決策分析系統。FineReport除了能實現複雜的表格樣式外,還具備極其豐富的圖表,能夠滿足多樣的資料視覺化場景訴求。
評價:Finereport不僅是戰情室軟體,它的本質是一個通用的報表製作和資料視覺化工具。就好比Excel,小到可以存儲統計資料、製作各式各樣的圖表、dashboard,大到製作財務報表、開發進銷存系統。
學習資源:
1)FineReport官網的免費教學資源:帆軟課程教學
2)帆軟社區、幫助文檔、youtube在線學習
2、FineBI
FineBI是商業智慧BI工具,與Tableau類似,都主張視覺化的探索性分析,有點像加強版的樞紐分析表。上手簡單,視覺化庫豐富。可以充當資料包表的門戶,也可以充當各業務分析的平臺。
評價:FineBI做到了自助式分析,圖表類型豐富,資料分析功能較強大,鑽取,篩選,分組等功能都有。
3、Power BI
Power BI 是一套商業分析工具,用於在組織中提供見解。可連結數百個資料來源、簡化資料準備並提供即席分析。生成美觀的報表並進行發佈,供組織在 Web 和行動設備上使用。
評價:類似於Excel的桌面bi工具,功能比Excel更加強大。支持多種資料來源。價格便宜。但是只能作為單獨的bi工具使用,沒辦法和現有的系統結合到一起。
4、Tableau
Tableau是桌面系統中最簡單的商業智慧工具軟體,沒有強迫使用者編寫自訂程式碼,新的控制台也可完全自訂配置。在控制台上,不僅能夠監測資訊,而且還提供完整的分析能力。
評價:全球知名的BI工具,是一款可視化商業智慧工具,用戶可以創建和分發互動式和可共用的儀錶板,以圖形和圖表的形式描繪資料的趨勢,變化和密度。
學習資源:
速成型:
1)Udemy, Linda,Coursera上都有Tableau的入門教程。
系統學習:
2)Tableau官網的免費教學資源 Tableau Training & Tutorials
掃清基礎概念,盲點。雖然視頻較多,比較花時間,但我覺得官網資源比MOOC做的更系統,建議逐個看完。個人覺得對於beginners有以下難點:
Visual Charts types and when to use.鏈中包含了13種常用圖表和Business cases.
》》 https://www.tableau.com/sites/default/files/media/which_chart_v6_final_0.pdf
5、D3
D3.js 是一個基於資料操作文檔的 JavaScript 庫。 D3 可以將強大的視覺化元件和資料驅動的 DOM 操作方法完美結合。
評價:強大的 SVG 操作能力,可以非常容易的將資料映射為 SVG 屬性,還內建了大量資料處理、佈局演算法和計算圖形的工具方法,有著強大的社區和豐富的 demo,但是API 太底層,複用性低,學習與使用成本高。
HighCharts 是一個用純 JavaScript 編寫的圖表庫, 能夠簡單便捷的在 Web 應用上添加交互性圖表。這是在 Web 上使用最廣泛的圖表,企業使用需要購買商業授權。
評價:使用門檻極低,相容性好,且使用廣泛,非常成熟,但是樣式比較陳舊、圖表難以擴展,商業上使用需要購買版權。
7、ECharts
企業級圖表,開源來自百度數據視覺化團隊,是一個純 Javascript 的圖表庫,可以流暢的運行在 PC 和行動設備上,相容當前絕大部分流覽器。
評價:豐富的圖表類型,覆蓋主流常規的統計圖表,而且配置項驅動,三級個性化圖表樣式管理,但是靈活性上不如 Vega 等基於圖形語法的類庫,一些複雜關聯式圖表比較難客製。
8、Leaflet
Leaflet 是面向移動設備的互動式地圖的 JavaScript 庫。 測量的 JS 只有大約 38 KB,它具有大多數開發人員需要的所有映射功能。
評價:專門針對地圖應用,mobile 相容性良好,API 簡潔、支援外掛程式機制,但是功能比較簡單,需要具備二次開發能力
9、Vega
Vega 是一套交互圖形語法,定義了資料到圖形的映射規則、常見的交互語法和常見的圖形元素,使用者可以自由使用 Vega 語法進行組合構建出各種各樣的圖表。
評價:完全基於 JSON 語法,提供從資料到圖形的映射規則,支援常見的交互語法,但是其本身有著複雜的語法設計,使用和學習成本很高。
10、deck.gl
deck.gl 是 Uber 視覺化團隊基於 WebGL 開發的面向大數據分析的視覺化類庫。
評價:主要以 3D 地圖視覺化為主,內置了地理資訊視覺化常見的場景,支援大規模資料的視覺化,但是需要具備 WebGL 的知識,層的擴展比較複雜
總結
資料視覺化是個龐大的領域,涉及的學科非常多,但正是因為這種跨學科性,讓視覺化領域充滿活力與機遇。
>>>
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。follow我的臉書,期待你與我的互動!
留言列表