俗話說的好:工欲善其事,必先利其器!一款好的工具可以讓你事半功倍,尤其是在大資料時代,更需要強有力的工具通過使資料有意義的方式實作資料可視化,還有資料的可互動性;我們還需要跨學科的團隊,而不是單個資料科學家、設計師或資料分析員;我們更需要重新思考我們所知道的資料可視化,圖表和圖形還隻能在一個或兩個次元上傳遞資訊, 那麼他們怎樣才能與其他次元融合到一起深入挖掘大資料呢?此時就需要倚仗大資料可視化(bdv)工具,是以,筆者收集了适合各個平台各種行業的多個圖表和報表工具,這些工具中不乏有适用于net、java、flash、html5、flex等平台的,也不乏有适用于正常圖表報表、甘特圖、流程圖、金融圖表、工控圖表、資料透視表、olap多元分析等圖表報表開發的。為了進一步讓大家了解如何選擇适合的資料可視化産品,本文将圍繞這一話題展開,希望能對正在選型中的企業有所幫助。下面就來看看全球備受歡迎的的可視化工具都有哪些吧!
一、excel
excel作為一個入門級工具,是快速分析資料的理想工具,也能建立供内部使用的資料圖,但是excel在顔色、線條和樣式上課選擇的範圍有限,這也意味着用excel很難制作出能符合專業出版物和網站需要的資料圖。
二、google chart api
google chart提供了一種非常完美的方式來可視化資料,提供了大量現成的圖示類型,從簡單的線圖表到複雜的分層樹地圖等。它還内置了動畫和使用者互動控制。
三、d3
d3(data driven documents)是支援svg渲染的另一種java庫。但是d3能夠提供大量線性圖和條形圖之外的複雜圖表樣式,例如voronoi圖、樹形圖、圓形叢集和單詞雲等。
四、r
r語言是主要用于統計分析、繪圖的語言和操作環境。雖然r主要用于統計分析或者開發統計相關的軟體,但也有用作矩陣計算。其分析速度可比美gnuoctave甚至商業軟體matlab。
五、visual.ly
如果你需要制作資訊圖而不僅僅是資料可視化,visual.ly是最流行的一個選擇。
六、processing
processing是資料可視化的招牌工具。你隻需要編寫一些簡單的代碼,然後編譯成java。processing可以在幾乎所有平台上運作。
七、leaflet
leaflet是一個開源的java庫,用來開發移動友好地互動地圖。
八、openlayers
openlayers可能是所有地圖庫中可靠性最高的一個。雖然文檔注釋并不完善。且學習曲線非常陡峭,但是對于特定的任務來說,openlayers能夠提供一些其他地圖庫都沒有的特殊工具。
九、polymaps
polymaps是一個地圖庫,主要面向資料可視化使用者。polymaps在地圖風格化方面有獨到之處,類似css樣式表的選擇器。
十、charting fonts
charting fonts是将符号字型與字型整合(把符号變成字型),建立出漂亮的矢量化圖示。
十一、gephi
gephi是進行社會圖譜資料可視化分析的工具,不但能處理大規模資料集并且gephi是一個可視化的網絡探索平台,用于建構動态的、分層的資料圖表。
十二、cartodb
cartodb是一個不可錯過的網站,你可以用cartodb很輕易就把表格資料和地圖關聯起來,這方面cartodb是最優秀的選擇。
十三、weka
weka是一個能根據屬性分類和叢集大量資料的優秀工具,weka不但是資料分析的強大工具,還能生成一些簡單的圖表。
十四、nodebox
nodebox是os x上建立二維圖形和可視化的應用程式,你需要了解python程式,nodebox與processing類似,但沒有processing的互動功能。https://www.nodebox.net/code/index.php/home
十五、kartograph
kartograph不需要任何地圖提供者像google maps,用來建立互動式地圖,由兩個libraries組成,從空間資料開放格式,利用向量投影的python library以及post gis,并将兩者結合到svg和java library,并把這些svg資料轉變成互動性地圖。
十六、modest maps
modest maps是一個很小的地圖庫,在一些擴充庫的配合下,例如wax、modest maps立刻會變成一個強大的地圖工具。
十七、tangle
tangle是一個用來探索,play和可以立即檢視文檔更新的互動工具。
十八、crossfilter
crossfilter既是圖表,又是互動圖形使用者界面的小程式,當你調整一個圖表中的輸入範圍時,其他關聯圖表的資料也會随之改變
十九、raphael
raphael是建立圖表和圖形的java庫,與其他庫最大的不同是輸出格式僅限svg和vml. http://raphaeljs.com/
二十、jsdraw2dx
jsdraw2dx是一個标準的java庫,用來建立任意類型的svg互動式圖形,可生成包括線、矩形、多邊形、橢圓、弧線等圖形。http://jsdraw2dx.jsfiction.com/
二十一、pizza pie charts
pizza pie charts是個響應式餅圖圖表,基于adobe snap svg架構,通過html标記和css來替代java對象,更容易內建各種先進的技術。
二十二、fusion charts suit xt
fusion charts suit xt是一款跨平台、跨浏覽器的java圖表元件,為你提供令人愉悅的java圖表體驗。它是最全面的圖表解決方案,包含90+圖表類型和衆多互動功能,包括3d、各種儀表、工具提示、向下鑽取、縮放和滾動等。它擁有完整的文檔以及現成的示範,可以幫助你快速建立圖表。
二十三、icharts
icharts提供可一個用于建立并呈現引人注目圖表的托管解決方案。有許多不同種類的圖表可供選擇,每種類型都完全可定制,以适合網站的主題。icharts有互動元素,可以從google doc、excel表單和其他來源中擷取資料。
二十四、modest maps
modest maps是一個輕量級、可擴充的、可定制的和免費的地圖顯示類庫,這個類庫能幫助開發人員在他們自己的項目裡能夠與地圖進行互動。
二十五、raw
raw局域非常流行的d3.js庫開發,支援很多圖表類型,例如泡泡圖、映射圖、環圖等。它可以使資料集在途、複制、粘貼、拖曳、删除于一體,并且允許我們定制化試圖和層次。
二十六、springy
springy設計清涼并且簡答。它提供了一個抽象的圖形處理和計算的布局,支援canvas、svg、webgl、html元素。
二十七、bonsai
bonsai使用svg作為輸出方式來生成圖形和動畫效果,擁有非常完整的圖形處理api,可以使得你更加友善的處理圖形效果。它還支援漸變和過濾器(灰階、模糊、不透明度)等效果。
二十八、cube
cube是一個開源的系統,用來可視化時間系列資料。它是基于mongodb、nodejs和d3.js開發。使用者可以使用它為内部儀表闆建構實時可視化的儀表闆名額。
二十九、gantti
gantti是一個開源的php類,幫助使用者即時生成gantti圖表。使用gantti建立圖表無需使用java,純html-css3實作。圖表預設輸出非常漂亮,但使用者可以自定義樣式進行輸出(sass樣式表)。
三十、smoothie charts
smoothie charts是一個十分小的動态流資料圖表路。通過推送一個websocket來顯示實時資料流。smoothie charts隻支援chorme和safari浏覽器,并且不支援刻印文字或餅圖,它很擅長顯示流媒體資料。
三十一、flot
flot是一個優秀的線框圖表庫,支援所有支援canvas的浏覽器(目前主流的浏覽器如火狐、ie、chrome等都支援)。
三十二、tableau public
tableau public是一款桌面可視化工具,使用者可以建立自己的資料可視化,并将互動性資料可視化釋出到網頁上。
三十三、many eyes
many eyes是一個web應用程式,用來建立、分享和讨論使用者上傳圖形資料。
三十四、anychart
anychart是一個靈活的基于flash/java(html5)的圖表解決方案、跨浏覽器、跨平台。除了圖表功能外,它還有一款收費的互動式圖表和儀表。
三十五、dundas chart
dundas chart處于行業領先地位的net圖表處理控件,于2009年被微軟收購,并将圖表産品的一部分功能內建到visual studio中。
三十六、timeflow
timeflow analytical timeline是為了暫時性資料的視覺化工具,現在有alpha版本是以有機會可以發現差錯,提供以下不同的呈現方式:時間軸、月曆、柱狀圖、表格等。
三十七、protovis
protovis是一個可視化java圖表生成工具。
三十八、choosel
choosel是可擴充的子產品化google網絡工具架構,可用來建立基于網絡的整合了資料工作台和資訊圖表的可視化平台。
三十九、zoho reports
zoho reports支援豐富的功能幫助不同的使用者解決各種個性化需求,支援sql查詢、類四暗自表格界面等。
四十、quantum gis(qdis)
quantum gis(qdis)是一個使用者界面友好、開源代碼的gis用戶端程式,支援資料的可視化、管理、編輯與分析和印刷地圖的制作。
四十一、nodexl
nodexlde 主要功能是社交網絡可視化。
四十二、openstreetmap
openstreetmap是一個世界地圖,由像您一樣的人們所構築,可依據開放協定自由使用。
四十三、openheatmap
openheatmap簡單易用,使用者可以用它上傳資料、建立地圖、交流資訊。它可以把資料(如google spreadsheet的表單)轉化為互動式的地圖應用,并在網上分享。
四十四、circos
circos最初主要用于基因組序列相關資料的可視化,目前已應用于多個領域,例如:影視作品中的人物關系分析,物流公司的訂單來源和流向分析等,大多數關系型資料都可以嘗試用circos來可視化。
四十五、impure
impure是一個可視化程式設計語言,旨在收集、處理可視化資訊。
四十六、polymaps
polymaps是一個基于矢量和tile建立動态、互動式的動态地圖。
四十七、rickshaw
rickshaw是一個基于d3.js來建立序互動式的時間序列圖表庫。
四十八、sigma.js
sigma.js是一個開源的輕量級庫,用來顯示互動式的靜态和動态圖表。
四十九、timeline
timeline即時間軸,使用者通過這個工具可以一目了然的知道自己在何時做了什麼。
五十、birdeye
birdeye是decearative visual analytics,它屬于一個群體專案,為了要提升設計和廣泛的開源資料視覺化發展,并且為了adobe flex建視覺分析圖庫,這個動作以叙述性的資料庫為主,讓使用者能夠建立多元資料視覺化界面來分析以及呈現資訊。
五十一、arbor.js
arbor.js提供有效率、以力導向的版面配置演算法,抽象畫圖表組織以及篩選更新的處理。
五十二、highchart.js
highchart.js是單純由java所寫的圖表資料庫,提供簡單的方法來增加互動性圖表來表達你的網站或網站應用程式。目前它能支援線圖、樣條函數圖。
五十三、paper.js
paper.js是一個開源向量圖表叙述架構,能夠在html5 canvas 運作,對于初學者來說它是很容易學習的,其中也有很多專業面向可以提供中階及高階使用者。
五十四、visualize free
visualize free是一個建立在高階商業背景集遊inetscoft開發的視覺化軟體免費的視覺分析工具,可從多元變量資料篩選并看其趨勢,或是利用簡單地點及方法來切割資料或是小範圍的資料。
五十五、geocommons
geocommons可以使使用者建構富互動可視化應用來解決問題,即使他們沒有任何傳統地圖使用經驗。你可以将實社會化資料或者geocommons儲存的超5萬份開源資料在地圖上可視化,創造帶互動的可視化分析作品,并将作品嵌入網站、部落格或分享到社交網絡上。
五十六:echarts
提起echarts,經常使用開源軟體的朋友應該很熟悉,當然,如果你不知道也沒關系。但是你肯定知道去年春節以及近期央視大規劃報道的百度大資料産品,如百度遷徙、百度司南、百度大資料預測等等,這些産品的資料可視化均是通過echarts來實作的。
在國外大資料可視化企業tableau、datawatch、platfora強勢入華的情況下,國人推出了echarts,并且進行了開源,從這一點來說,中國的大資料行業并不落後于北美國家。echarts也讓我們看到了中國大資料可視化的未來,感謝echarts以及echarts團隊。
傳統的資料可視化工具僅僅将資料加以組合,通過不同的展現方式提供給使用者,用于發現資料之間的關聯資訊。近年來,随着雲和大資料時代的來臨,資料可 視化産品已經不再滿足于使用傳統的資料可視化工具來對資料倉庫中的資料抽取、歸納并簡單的展現。新型的資料可視化産品必須滿足網際網路爆發的大資料需求,必須快速的收集、篩選、分析、歸納、展現決策者所需要的資訊,并根據新增的資料進行實時更新。是以,在大資料時代,資料可視化工具必須具有以下特性:
(1)實時性:資料可視化工具必須适應大資料時代資料量的爆炸式增長需求,必須快速的收集分析資料、并對資料資訊進行實時更新;
(2)簡單操作:資料可視化工具滿足快速開發、易于操作的特性,能滿足網際網路時代資訊多變的特點;
(3)更豐富的展現:資料可視化工具需具有更豐富的展現方式,能充分滿足資料展現的多元度要求;
(4)多種資料內建支援方式:資料的來源不僅僅局限于資料庫,資料可視化工具将支援團隊協作資料、資料倉庫、文本等多種方式,并能夠通過網際網路進行展現。
資料可視化技術在現今是一個新興領域,有越來越多的發展、研究等資料可視化分析,在諸如美國這些國家不斷被需求。企業擷取資料可視化功能主要通過程式設計和非程式設計兩類工具實作。主流程式設計工具包括以下三種類型:從藝術的角度創作的資料可視化,比較典型的工具是 processing.js,它是為藝術家提供的程式設計語言。從統計和資料處理的角度,r語言是一款典型的工具,它本身既可以做資料分析,又可以做圖形 理。介于兩者之間的工具,既要兼顧資料處理,又要兼顧展現效果,d3.js是一個不錯的選擇。像d3.js這種基于java的資料可視化工具更适合在網際網路上互動的展示資料。
本文作者:佚名
來源:51cto