數據可視化效果若干經驗與資料分享
文章通過介紹Visualization 即可視化,羅列了數據的展現方式。對于數據分析最困難的一部分就是數據的展示,解讀數據之間的關系,清晰有效的傳達并且溝通數據信息。
對于數據挖掘,我們可以通過文中對數據可視化的案例找到分析數據、展現數據的方法和思路。
Data visualization 是一件很有趣的事情。最近在嘗試處理數據,便順手翻了翻 visualization 的進展,然后除了 IBM 大名鼎鼎的的 many-eyes 。
還有一個比較好有意思的網站是visualizing。Visualizing 跟 many-eyes 很像,都是社區形式的網站,用戶可以注冊然后上傳,而且網站還有積累下來的很多數據供用戶使用。
當然我不是為了介紹這個網站才寫這篇 post 的,寫 post 是一個記筆記的過程,如果我不能從中學到什么,就有點浪費時間了。下面進入正題,我嘗試總結一下 visualization 的時候的幾個可用的經驗。
應該使用何種形式來表現數據
從 visualizing.org 的分類中提取出來的有用的形式包括(不過說實話這樣分類并不是很好用)
1、Chart
2、Time series
3、Map
4、Flow
5、Matrix
6、Network
7、Hierarchy
8、Info-graphic
要可視化的數據可以分幾類(我想的不全面,歡迎補充,共同學習)
有一系列對象,他們之間相互有關聯
寫成 A↔B 粗體的拉丁字母表示一系列對象,比如一系列地點。
這種情況下因為要展示數據之間相互關系,所以實質上是一個 network 圖,不過通過一些技巧可以把簡單的 network 圖變成更好的形式。
方式一:使用轉換成 flow 圖。通過把對象列出兩遍來是的原本應該是一個比較復雜難以看清的 network 變成了清晰易查找的 flow。
這類圖中我喜歡的一個是 people moving 的 flow
這個 flow 圖非常好的展示了從一個國家移民到另一個國家,上面的截圖就是人們移居(migrate,是移民么?)到加拿大的情況,可以看到中國(CH)移民到加拿大的還是比較多的。通過這樣的 flow,我們可以很容易很直觀的分析數據。
方式二:圈形的 network 圖。為什么要做出圈形呢?因為圈形可以使得連線集中在圈內部,而且可以減少數據交叉。通過 interactive design,可以使得連線無交叉。比如這個 Migrants moving money :
這個截圖是中國的僑款,也就是中國移民所寄回祖國中國的錢數。可以看排除香港地區,美國是***的來源。
事實上這種方法與***種本質是相同的。
方式三:network 圖。通過點和連線來關聯。例子比如 Attractions of Councils: WEF GAC interlink survey
但是這個圖實際上并不好。而且有時候,線條是可以去掉的,比如這個 國際航班的可視化 :
Click a nation to see all connected nations via flights. Click again to see arranged nations based on the distance. Double-click the background to reset.
截圖:
方式四:使用 table。不過為了更直觀,使用面積等方式來代表數據的大小。
比如 10 個人任意兩個人之間相互按照對對方的好感程度打分,為了展示任意兩個人 A 和 B 之間相互的好感程度,可以使用顏色柱來展示,選定一個作為兩個人好感程度相同,顏色柱之上的顏色表示 A 對 B 的好感大于 B 對 A 的好感,反之亦然。
這里有個 council 之間的例子 ,截圖如下:
層級數據,數據之間可以分成幾個層級關系
就是 Hierarchy 圖,不過有時候可以省掉連線。
比如這個 soft drink 的 hierarchy 圖
從這張截圖立刻可以看到 coca-cola 和 pepsi 的龐大,通過原網頁可以自由的放大縮小來查看不同的公司的產品。
這樣的 hierarchy 圖要比單調的并列的整整齊齊的列舉要包含了更多的信息,因為圓圈的大小可以表示數據的一個維度,甚至還可以引入顏色等等來表示更多的維度。
#p#
簡單的兩維數據,比如某種現象出現的頻數
方式一:使用 Histogram。這是比較經典的選擇,即使用矩形或者線條的長度來表示數據的大小。例如這個關于能源的 visualization
方式二:使用樹圖(Tree map),使用面積表示數據的大小。這里有個 UN 的 Global Pulse Visualization 的例子 :
方式三:使用散點,使用散點的大小或者顏色等屬性來表示數據的大小。
一個很優秀的例子是 學生坐座位習慣的例子 ,截圖:
事實上 tag page 也是屬于這類,我們可以通過每個 tag 的大小顏色等等來標示數據的大小。
坐標數據
除了可以使用上面說提到的方式,對于坐標數據,有個特點是可以繪制地圖(Map),而 Map 可以與其他形式結合,比如 flow。一個比較好的例子是 關于我們坐飛機的一張圖 ,截圖如下:
圖片上部的地圖是飛行的出發城市,下部的地圖是終點城市。更多內容可以查看 UCSB 的這個站點,其中提供了 demo 軟件。
不同 visualization 的結合
前些時候,以為天文學家 Goodman 寫過一篇關于 高維天文數據可視化的論文 ,其中提到了 linked views 很重要,就是說我們要多種可視化方式聯合起來展示數據,我截取論文中一張圖片來說明。
不同的 visualization 結合起來對數據進行多角度的呈現,可以使我們對數據有更深刻的理解。所以 data mining 實際上是一個應用非常廣泛的專業,一個 data mining 專業的學生在現在這種天文專業被大量數據所轟炸(有篇論文就是說 data tsunami 時代)真是個寶貝啊。
有一個不錯的歷史方面的數據可視化例子,把時間線和地圖集合起來展示的,這個方案實際是一種深層次的 linked views: Conflict History of the World
一些有用的工具
1、 http://en.wikipedia.org/wiki/Data_visualization 自然要先查看一下 wikipedia 啦啦啦~
2、visualizing.org 有個列表:
3、 http://selection.datavisualization.ch/ 列舉了很多有用的工具。
4、 https://github.com/blprnt/Kepler-Visualization This is a Processing sketch to visualize data from NASA’s Kepler mission.
5、 http://flowingmedia.com/timeflow.html Time Flow is an open-source timeline built to help journalists analyze temporal data. The application offers several view modes–timelime, calendar, list, table–to help explore thousands of data points.
6、 http://mapbox.com/ Mapbox is a tool for map making.
Data Visualization 的機構/組織/社區
1、 http://envisioningtech.com/
有些不錯的 data visualization,比如(圖片來自 envisioningtech.com)
2、IBM 的Many-eyes.com
這個一開始提到了,是個 visualization 的社區。
3、http://datavisualization.ch/
之前提到過它的工具列表了。這個網站是
Datavisualization.ch is the premier news and knowledge resource for data visualization and infographics.
一個類似 data visualization 社區的網站。
5、 http://visualization.geblogs.com/
來自 GE 的例子。
Web-based Analysis and Visualization Environment
本文所用的數據按照 visualizing.org 所標示,使用 CC BY-NC-SA 協議,除了明確指明的圖片,其他圖片皆出自 visualizing.org。
好了講完了,可以用 exoplanets.org 的數據來玩玩。
End