1. 程式人生 > >最好用的 20 款資料視覺化工具

最好用的 20 款資料視覺化工具

原網址:http://www.iteye.com/news/28093

資料視覺化可以讓資料更加直觀,為開發者做出正確決策奠定基礎。本文將介紹20款不同的資料視覺化工具,從簡單列表到複雜表格,再到地圖和資訊圖表。這些工具中大部分都是免費的,希望能夠為你帶來幫助。 


一、入門級

首先,我們來看看你所熟知的工具,它們可能會有意想不到的用途。如果你是剛剛入門,那麼首先要知道這些工具。 

1、Excel

事實上運用Excel你可以運算很複雜的資料,比如從單元格的熱圖到散點圖。作為一款入門級的工具,它可以快速搜尋資料,或者為內部使用建立視覺化資料,但由於預設設定了顏色、線條和風格,使其難以建立用於某些專業刊物或網站的圖形。儘管如此,我仍然推薦你使用Excel。 


Excel是微軟辦公套件中的一種工具,如果你沒有它的話,其他工具也可以實現類似的功能,比如Google Docs和Google Drive。 



2、CSV/JSON

CSV(逗號分隔值)和JSON(JavaScript物件符號)不算是一種視覺化工具,但它們是基本資料格式。你需要了解它們的結構,知道如何獲取資料。以下提到的工具包所支援的資料格式,至少包含它們中的1至2個。 

二、網路資料視覺化



部分靜態影象工具包已不再被人們使用,Google圖表工具網站現在只提供動態圖表工具。這些工具功能強大,並且所有瀏覽器都支援SVG、canvas和 VML。但有一個嚴重的問題,它們是在客戶端上生成的,如果裝置上不支援JavaScript、非聯網狀態使用或者用不同格式儲存,都會引發問題。而靜態影象則不會有這些問題。 


然而,API擁有所有的功能,包括條形圖、折線圖、地圖,甚至是QR程式碼。你可以根據實際所需,通過Google查詢到合適的視覺化圖形,而不需要特殊定製。作為一個起點,這是一個非常棒的工具。 



4、Flot(浮懸)

浮懸是一個很棒的線圖和條形圖建立工具,可以運用於支援canvas的所有瀏覽器——意味著大多數主流瀏覽器。這是一個jQuery庫,如果你已經熟悉jQuery,你就可以容易的對影象進行回撥、風格和行為操作。 

浮懸的優點是你可以訪問大量的呼叫函式,這樣就可以執行你自己的程式碼。設定一種風格,可以讓在使用者懸停滑鼠、點選、移開滑鼠時展示不同的效果。比起其他製圖工具,浮懸給予你更多的靈活空間。浮懸提供的選項不多,但它可以很好地執行常見的功能。 






拉斐爾是另一種很棒的JavaScript庫,用於建立圖表和圖形。與其他庫最大的區別在於,它著重於SVG和VML輸出形式。這有優點也有缺點。由於 SVG是向量格式,在任何解析度下看上去都很好,但它為每個元素建立了一個DOM節點,這個過程要比通過canvas建立柵格化影象要慢一點。不過,好處是你可以針對每個DOM元素操作、新增事件,就像HTML一樣。網頁有大量的演示拉斐爾如何輕易的建立通用表格和圖形,正因為它可以任意呈現SVG,它可以建立非常複雜的視覺化效果,你就不必使用其他插圖或者向量繪圖工具了。 



6、D3

D3(資料驅動檔案)是另外一種支援SVG渲染的JavaScript庫。不僅可以建立簡單的條形圖和折線圖,還可以完成更復雜的Voronoi圖、樹圖、圓形集圖和字元雲。用D3可以做出複雜的互動,但不意味著必須使用它。選擇正確的工具把影象鮮明的展示出來是非常重要的。 





如果你需要用到資訊圖表,而非資料視覺化圖形,那麼正要介紹的這款工具能幫到你的忙。Visual.ly是非常流行好用的。網路上經常用到資訊圖表設計,它提供了一個模板選項,將圖表連結到你的Facebook或Twitter賬戶,還能顯示可愛的卡通背景。雖然用途有限,但它是一個很有用的靈感來源。 



三、互動式GUI控制元件

如果把資料視覺化和GUI控制元件結合起來時,會達到怎樣的效果?隨著線上視覺化的發展,按鈕、下拉和滑塊演變成更復雜的介面元素,使你擴充套件內容,同時改變輸入引數和資料。控制元件和內容合為一體。下面介紹到的工具可以幫助你探索這種可行性。 



我們構建更復雜的工具,使客戶能夠快速檢視到各類資料。Crossfilter是一種JavaScript庫,它可以完成上述所有的內容。顯示資料的時候,你還可以限制一個範圍,同時,還能檢視其它連結圖表。 





Tangle 使控制元件和內容之間的界限變得模糊。當你嘗試描述一個複雜的相互作用或方程式時,想讓使用者調整輸入值,並讓輸出結果提供一種強大的控制方式來探索資料。用JavaScript庫Tangle就可以完成。拖動即可增加或減少變數值的大小,並能夠看到附圖表格自動隨之變化,效果很神奇。 



四、地圖

地圖在網路上非常難用,Google Maps打翻了線上地圖如何工作的先入為主的觀念。隨後,谷歌釋出了地圖API,它允許任何開發人員在自己的網站中嵌入谷歌地圖。從那時起,市場成熟了許多。如果你正尋找在專案中嵌入自定義地圖的解決方案,目前已有不少的選擇,關鍵在於選擇最合適的。 



Modest Maps是一個微小的地相簿,只有10KB大小,它是本文介紹的所有工具中最小的一個。這使得它的基本形式非常有限,但不要小看它,裝上一些擴充套件,類似於Wax,該工具就會變得非常強大。已有的產品包括StamenBloomMapBox等。 





Leaflet是由 CloudMade 團隊開發的一種微小的地圖框架,小巧而輕便,用來建立對移動頁面友好的地圖應用。Leaflet和Modest Maps都是開源的,你可以根據自己網站的需求靈活運用它們。該工具有強大的備份功能,你不用擔心它們會消失不見。 





Polymaps也是一種地相簿,可直接用於資料視覺化。Polymaps還是一個強大的資源庫,類似於CSS選擇器,允許建立獨特的地圖風格。 





OpenLayers或許是最強大的地相簿。雖然文件不多,操作難度高,但其在某些運用方面沒有其他工具可與之相比。當你需要用到一個非常特殊的工具,而其他庫沒有提供的時候,就可以選擇OpenLayers了。 





Kartogragh中的標記線重新定義了地圖。我們已經習慣了Mercator projection(墨卡託投影),但Kartogragh提供了更多的選擇。如果你不是在處理世界範圍的資料,且希望把你的地圖放在定義框內,那麼運用Kartogragh可以使你的設計脫穎而出。 





CartoDB可以輕易的結合表格資料與地圖。比如,當你輸入一個地址字串,它就可以轉換為經度和緯度,還可以在地圖上標示出來。它有五個免費的表,其他的需要按月度付費使用。 



五、資料視覺化進階工具

如果你想做高水平的資料視覺化,那麼除了簡單基於網頁的工具,你還需要更有用的東西,包括桌面應用程式和程式設計環境。 



Processing可謂是互動式視覺化處理的模範工具,它能讓你使用更簡單的程式碼,再循序編譯成Java。Processing.js工具可以使你的網頁在沒有Java應用程式的情況下運用Processing,其Objective-C埠使你能夠在iOS平臺上使用它。它是一個可以運用在所有平臺上的桌面應用,近幾年來網上已經有大量例項和程式碼了。 





NodeBox是一個OS X應用程式,用來建立二維圖形和資料視覺化。你需要掌握Python程式碼,除此之外,它可以簡單快速的調整變數,並立即看到結果。有點類似於Processing,但NodeBox沒有互動性。 



六、專業工具

除了以上介紹的幾種簡單工具外,還有比較專業的資料處理工具,供專業人士使用。行業標準的工具,例如SPSSSAS,需要昂貴的訂購費用,所以一般只有大型和學術機構能夠使用它們。我們將要介紹的工具,可供免費使用,而且功能強大。這些開源軟體非常好用,並且有強大的外掛和支援。 

18、R 

有多少款軟體是自帶搜尋引擎的呢?R是一種非常複雜的軟體,是用於分析大型資料集的統計資料包,擁有強大的社群和庫,需要花一定時間掌握。R是本文介紹所有工具中最難學習的工具,當你掌握以後,你就會有自豪感。 



19、Weka 

程度再加深一點,當你達到專家水平時,你就需要擴充套件能力,不僅僅是建立資料視覺化,還要學會資料探勘技術。Weka用於各種屬性的資料分類和聚類,以便能夠很好的進行資料瀏覽。此外,它還能夠生成簡單的平面圖。 



20、Gephi

人們談論關聯性、社交圖和相關關係的時候,通常指的是同一個網路連線內相互有關係的兩個節點。這裡的節點可能是公司中的某個人,檔案中的單詞或者是足球比賽中的傳球員,但原理是一樣的。Gephi是基於圖表視覺化的資料瀏覽器,不僅可以壓縮大型資料集,創建出漂亮的視覺化效果,還支援清除和整理資料。