[技術分享] 數據可視化基礎—可視化流程

 作者:新投云  瀏覽數:

很多人認為數據可視化非常簡單,無非是輸入幾組數據,生成簡單的條形圖、直線圖等等。然而,這未免有點管中窺豹。其實數據可視化大致可分為信息可視化科學可視化可視化分析三大類,剛才提到的簡單圖表只是信息可視化中最常見的幾種。一旦數據量增大,可視化目標改變,可視化系統的復雜度可能就會超出我們的想象。本文中涉及到的可視化流程模型適用于信息可視化和科學可視化。可視化分析的流程模型略有不同,本文暫時不進行討論。

通用的可視化流程

做任何事都有一個流程,可視化也不例外。

數據可視化流程總覽數據可視化流程總覽

一圖以蔽之。可視化整體可分為三步:分析-處理-生成

一、分析

進行一個可視化任務時,我們首當其沖的當然是要分析,分析又分為三部分:任務、數據、領域。

首先我們要分析我們這次可視化的出發點和目標是什么。我們遇到了什么問題、要展示什么信息、最后想得出什么結論、驗證什么假說等等。數據承載的信息多種多樣,不同的展示方式會使側重點有天壤之別。只有想清楚以上問題,才能確定我們要過濾什么數據、用什么算法處理數據、用什么視覺通道編碼等等。

其次我們要分析我們的數據,這是至關重要的一步。因為每次可視化任務拿到的數據都是不同的,數據類型、數據結構均有變化,數據的維度也可能成倍增加。抽象的數據類型如何對應現實中的概念,不同的數據類型如何進行視覺編碼,這些我們在下一篇數據模型中進行介紹。

最后我們針對不同的領域,也要進行相應的分析。畢竟術業有專攻,可視化的側重點要跟著領域做出相應的變化。

二、處理

處理可以分為兩部分:對數據的處理對視覺編碼的處理

1.數據處理

在可視化之前我們要對數據進行數據清洗、數據規范、數據分析。

數據清洗和規范是必不可少的步驟。首先把臟數據、敏感數據過濾掉,其次再剔除和我們目標無關的冗余數據,最后調整數據結構到我們系統能接受的方式。

數據分析中最簡單的方法當然是一些基本的統計方法,如求和、中值、方差、期望等等;復雜的方法有數據挖掘種的各種算法,這是又一個領域了,在此不贅述。

最后的可視化結果中我們肯定不可能把所有的數據統統展示出來,于是又涉及到包括標準化(歸一化)、采樣、離散化、降維、聚類等數據處理的方法,這些概念之后可以單獨寫篇文章來介紹。

2.設計視覺編碼

視覺編碼的設計是指如何使用位置、尺寸、灰度值、紋理、色彩、方向、形狀等視覺通道,以映射我們要展示的每個數據維度。這里看不懂沒關系,第三篇視覺編碼中會詳細介紹。

三、生成

這個階段基本上就是把之前的分析和設計付諸實踐,在制作或寫代碼過程中,再不斷調整需求、不斷地迭代(有可能要重復前兩步),最后產出我們想要的結果。

其它可視化流程

線性模型

1990 年 Robert B. Haber 和 David A. McNabb 提出的數據可視化流程已經非常先進:

Haber, R. B. and McNabb, D. A. Visualization idioms: A conceptual model for scientific visualization systems, 1990.Haber, R. B. and McNabb, D. A. Visualization idioms: A conceptual model for scientific visualization systems, 1990.

這個處理模型非常先進,整個流程是線性的。它把數據分成五大階段,分別要經歷四個流程,每個過程的輸入是上一個過程的輸出。從圖上看非常直觀,很好理解。

嵌套模型

另一種模型是嵌套模型:

Munzner T. A Nested Process Model for Visualization Design and Validation\[J\]. IEEE Transactions on Visualization & Computer Graphics, 2009, 15(6):921-8.Munzner T. A Nested Process Model for Visualization Design and Validation\[J\]. IEEE Transactions on Visualization & Computer Graphics, 2009, 15(6):921-8.

嵌套模型的上半部分基本上就是我們之前說的分析、處理兩步,下半部分是對可視化結果的各類驗證。本質上就是一個驗證加迭代的過程。我們知道很多事都不是一蹴而就的,需要不斷迭代,所以有人提出了循環模型。

循環模型

Stolte C, Hanrahan P. Polaris: a system for query, analysis and visualization of multi-dimensional relational databases[C]// IEEE Symposium on Information Visualization. 2000:5-14.Stolte C, Hanrahan P. Polaris: a system for query, analysis and visualization of multi-dimensional relational databases[C]// IEEE Symposium on Information Visualization. 2000:5-14.

Wijk J J V. The Value of Visualization[C]// Visualization, 2005. VIS 05. IEEE. 2005:11-11.Wijk J J V. The Value of Visualization[C]// Visualization, 2005. VIS 05. IEEE. 2005:11-11.

循環模型的兩張圖其實都是把線性模型首尾連起來,從圖上看一目了然。

目前應用最廣的模型

Card S K, Mackinlay J D, Shneiderman B. Readings in information visualization: using vision to think[M]// Readings in information visualization :. Morgan Kaufmann Publishers, 1999:647-650.Card S K, Mackinlay J D, Shneiderman B. Readings in information visualization: using vision to think[M]// Readings in information visualization :. Morgan Kaufmann Publishers, 1999:647-650.

對比之前的線性模型,其實也很類似,不過其在最后加入了用戶交互的部分,且讓每個步驟都變成了循環的。這是目前應用最廣的可視化流程模型,后繼幾乎所有著名的信息可視化系統和工具都支持、兼容這個模型。

總結

縱觀以上提到的各類模型,都非常類似,本質上還是離不開分析-處理-生成三步,所以掌握第一張圖就可以了,以不變應萬變。

相關文章

一分钟快三计划软件