如今學習應用資料可視化的管道有很多,你可以跟蹤一些專家部落格,但更重要的一點是實踐/實操,你必須對目前可用的資料可視化工具有個大緻了解。以下是Netmagzine列舉的二十大資料可視化工具,無論你是準備制作簡單的圖表還是複雜的圖譜或者資訊圖,這些工具都能滿足你的需要。更加美妙的是,這些工具大多免費。
第一部分:入門級工具
1.Excel

Excel的圖形化功能并不強大,但Excel是分析資料的理想工具,上圖是Excel生成的熱力地圖
作為一個入門級工具,Excel是快速分析資料的理想工具,也能建立供内部使用的資料圖,但是Excel在顔色、線條和樣式上可選擇的範圍有限,這也意味着用Excel很難制作出能符合專業出版物和網站需要的資料圖。但是作為一個高效的内部溝通工具,Excel應當是你百寶箱中必備的工具之一。
2.CSV/JSON
CSV(逗号分隔值)和JSON(JavaScript對象注釋)雖然并不是真正的可視化工具,但卻是常見的資料格式。你必須了解他們的結構,并懂得如何從這些檔案中導入或者導出資料。以下将要介紹的所有資料可視化工具都支援CSV、JSON中至少一種格式。
第二部分:線上資料可視化工具
3.Google Chart API
Google Chart API工具集中取消了靜态圖檔功能,目前隻提供動态圖表工具。能夠在所有支援SVG\Canvas和VML的浏覽器中使用,但是Google Chart的一個大問題是:圖表在用戶端生成,這意味着那些不支援JavaScript的裝置将無法使用,此外也無法離線使用或者将結果另存其他格式,之前的靜态圖檔就不存在這個問題。盡管存在上述問題,不可否認的是Google Chart API的功能異常豐富,如果沒有特别的定制化需要,或者對Google視覺風格的抵觸,那麼你大可以從Google Chart開始。
4.Flot
Flot是一個優秀的線框圖表庫,支援所有支援canvas的浏覽器(目前主流的浏覽器如火狐、IE、Chrome等都支援)。
5.Raphaël
Raphaël是建立圖表和圖形的JavaScript庫,與其他庫最大的不同是輸出格式僅限SVG和VML。SVG是矢量格式,在任何分辨率下的顯示效果都很好。
6.D3
D3(Data Driven Documents)是支援SVG渲染的另一種JavaScript庫。但是D3能夠提供大量線性圖和條形圖之外的複雜圖表樣式,例如Voronoi圖、樹形圖、圓形叢集和單詞雲等。雖然D3能夠提供非常花哨的互動圖表,但你在選擇資料可視化工具時,需要牢記的一點是:知道在何時保持簡潔。
7.Visual.ly
如果你需要制作資訊圖而不僅僅是資料可視化,目前也有大把的工具可用。Visual.ly就是最流行的一個選擇。雖然Visual.ly的主要定位是:“資訊圖設計師的線上集市”,但是也提供了大量資訊圖模闆。雖然功能還有很多限制,但是Visual.ly絕對是個能激發你靈感的地方。
第三部分:互動圖形使用者界面(GUI)控制
如果資料可視化的互動性強大到可以作為GUI界面會怎樣?随着線上資料可視化的發展,按鈕、下拉清單和滑塊都在進化成更加複雜的界面元素,例如能夠調整資料範圍的互動圖形元素,推拉這些圖形元素時輸入參數和輸出結果資料會同步改變,在這種情況下,圖形控制和内容已經合為一體。以下這些工具能夠幫你實作這些功能:
8.Crossfilter
當我們為友善客戶浏覽資料開發出更加複雜的工具時,我們已經能夠建立出既是圖表,又是互動圖形使用者界面的小程式。JavaScript庫Crossfilter就是這樣的工具。
Crossfilter應用:當你調整一個圖表中的輸入範圍時,其他關聯圖表的資料也會随之改變。
9.Tangle
JavaScript庫Tangle進一步模糊了内容與控制之間的界限。在下圖這個應用執行個體中,Tangle生成了一個負載的互動方程,讀者可以調整輸入值獲得相應資料。
第四部分:地圖工具
地圖生成是web上最困難的任務之一。Google Maps的出現完全颠覆了過去人們對線上地圖功能的認識。而Google釋出的Maps API則讓所有的開發者都能在自己的網站中植入地圖功能。
近年來,線上地圖的市場成熟了很多,如果你需要在資料可視化項目中植入定制化的地圖方案,目前市場上已經有很多選擇,但是知道在何時選擇何種地圖方案則成了一個很關鍵的業務決策。地圖方案看上去功能都很強大,但是切忌:“有了一把錘子,看什麼都像釘子。”
10. Modest Maps
顧名思義,Modest Maps是一個很小的地圖庫,隻有10KB大小,是目前最小的可用地圖庫。這似乎意味着Modest Maps隻提供一些基本的地圖功能,但是不要被這一點迷惑了。在一些擴充庫的配合下,例如Wax,Modest Maps立刻會變成一個強大的地圖工具。
11.Leaflet
CloudMade團隊為大家帶來了Leaflet,這是另外一個小型化的地圖架構,通過小型化和輕量化來滿足移動網頁的需要。Leaflet和Modest Maps都是開源項目,有強大的社群支援,是在網站中整合地圖應用的理想選擇。
12. PolyMaps
Polymaps是另外一個地圖庫,但主要面向資料可視化使用者。Polymaps在地圖風格化方面有獨到之處,類似CSS樣式表的選擇器,是不可錯過的好東西。
13.OpenLayers
OpenLayers可能是所有地圖庫中可靠性最高的一個。雖然文檔注釋并不完善,且學習曲線非常陡峭,但是對于一些特定的任務來說,OpenLayers無可匹敵。例如能夠提供一些其他地圖庫都沒有的特殊工具。
14.Kartograph
Kartograph的标記線是對地圖繪制的重新思考,我們都已經習慣了莫卡托投影(Mercator projection),但是Kartograph為我們帶來了更多的選擇。如果你不需要調用全球資料,而僅僅是生成某一區域的地圖,那麼Kartogaph将使你脫穎而出。
15.CartoDB
CartoDB是一個不可錯過的網站。你可以用CartoDB很輕易就把表格資料和地圖關聯起來,這方面CartoDB是最優秀的選擇。例如,你可以輸入CSV通訊位址檔案,CartDB能将位址字元串自動轉化成經度/次元資料并在地圖上标記出來。目前CartoDB支援免費生成五張地圖資料表,更多使用需要支付月費。
Charting Fonts
(随着iPad3等高清移動裝置的普及)web開發的一個最新趨勢是将符号字型與字型整合(把符号變成字型),建立出漂亮的矢量化圖示。在這些新型字型中,例如FF Chartwell和Chartjunk是專門用來顯示圖表和圖形的。他們與OpenType碰到的問題一樣,就是不能被所有的浏覽器支援,但是不久的未來這些矢量字型将是資料可視化工作中需要考慮到的因素。
第五部分:進階工具
如果你準備用資料可視化做一些“嚴肅”的工作,那麼你可能不會對線上可視化工具或者web小程式有太大興趣,你需要的是桌面應用和程式設計環境。
16. Processing
Processing是資料可視化的招牌工具。你隻需要編寫一些簡單的代碼,然後編譯成Java。目前還有一個Processing.js項目,可以讓網站在沒有Java Applets的情況下更容易地使用Processing。由于端口支援Objective-C,你也可以在iOS上使用Processing。雖然Processing是一個桌面應用,但也可以在幾乎所有平台上運作,此外經過數年發展,Processing社群目前已近擁有大量執行個體和代碼。
17.NodeBox
NodeBox是OS X上建立二維圖形和可視化的應用程式。你需要了解Python程式,NodeBox與Processing類似,但是沒有Processing的互動功能。
第六部分:專家級工具
與Excel相對的是專業資料分析工具。如果你是一個專業的資料分析師,那麼你就必須對下面将要介紹的工具有所了解(如果不是精通的話)。衆所周知,SPSS和SAS是資料分析行業的标準工具,但是這些工具的費用不菲,隻有大型組織和學術機構才有機會使用,下面我們介紹幾種免費的替代工具,這些開源工具的共同特征是都有強大的社群支援。開源分析工具性能不輸老牌專業工具,插件的支援甚至更好。
18.R
作為用來分析大資料集的統計元件包,R是一個非常複雜的工具,需要較長的學習實踐,學習曲線也是本文所介紹工具中最陡峭的。但是R擁有強大的社群群組件庫,而且還在不斷成長。當你能駕馭R的時候,一切付出都是物有所值的。
19.Weka
當你成長成一名資料科學家的時候,你需要将個人能力從資料可視化擴充到資料挖掘領域。Weka是一個能根據屬性分類和叢集大量資料的優秀工具,Weka不但是資料分析的強大工具,還能生成一些簡單的圖表。
20. Gephi
Gephi是進行社交圖譜資料可視化分析的工具,不但能處理大規模資料集并生成漂亮的可視化圖形,還能對資料進行清洗和分類。Gephi是一種非常特殊的軟體,也非常複雜,先于他人掌握Gephi将使你一騎絕塵。
本文作者:劉朝陽
來源:51CTO