幾款數(shù)據(jù)可視化的工具介紹
DT(Data Technology)時(shí)代已經(jīng)來臨,使用BI工具代替手工統(tǒng)計(jì)分析數(shù)據(jù),已經(jīng)成為企業(yè)和政府快速致勝的武器。好的BI工具能有效的幫助企業(yè)提高分析效率、減少分析成本、提高數(shù)據(jù)價(jià)值、完善信息化水平。
新型的數(shù)據(jù)可視化產(chǎn)品層出不窮,基本上各種語言都有自己的可視化庫,傳統(tǒng)數(shù)據(jù)分析及BI軟件也都擴(kuò)展出一定的可視化功能,再加上專門的用于可視化的成品軟件,我們的可選范圍實(shí)在是太多了。那么,我們要選擇的可視化工具,必須滿足互聯(lián)網(wǎng)爆發(fā)的大數(shù)據(jù)需求,必須快速的收集、篩選、分析、歸納、展現(xiàn)決策者所需要的信息,并根據(jù)新增的數(shù)據(jù)進(jìn)行實(shí)時(shí)更新。
- 實(shí)時(shí)性:數(shù)據(jù)可視化工具必須適應(yīng)大數(shù)據(jù)時(shí)代數(shù)據(jù)量的爆炸式增長需求,必須快速的收集分析數(shù)據(jù)、并對(duì)數(shù)據(jù)信息進(jìn)行實(shí)時(shí)更新;
- 簡單操作:數(shù)據(jù)可視化工具滿足快速開發(fā)、易于操作的特性,能滿足互聯(lián)網(wǎng)時(shí)代信息多變的特點(diǎn);
- 更豐富的展現(xiàn):數(shù)據(jù)可視化工具需具有更豐富的展現(xiàn)方式,能充分滿足數(shù)據(jù)展現(xiàn)的多維度要求;
- 多種數(shù)據(jù)集成支持方式:數(shù)據(jù)的來源不僅僅局限于數(shù)據(jù)庫;很多數(shù)據(jù)可視化工具都支持團(tuán)隊(duì)協(xié)作數(shù)據(jù)、數(shù)據(jù)倉庫、文本等多種方式,并能夠通過互聯(lián)網(wǎng)進(jìn)行展現(xiàn)。
數(shù)據(jù)可視化主要通過編程和非編程兩類工具實(shí)現(xiàn)。主流編程工具包括以下三種類型:從藝術(shù)的角度創(chuàng)作的數(shù)據(jù)可視化,比較典型的工具是 Processing,它是為藝術(shù)家提供的編程語言;從統(tǒng)計(jì)和數(shù)據(jù)處理的角度,既可以做數(shù)據(jù)分析,又可以做圖形處理,如R,SAS;介于兩者之間的工具,既要兼顧數(shù)據(jù)處理,又要兼顧展現(xiàn)效果,D3.js、Echarts都是很不錯(cuò)的選擇,二者這種基于Java的數(shù)據(jù)可視化工具更適合在互聯(lián)網(wǎng)上互動(dòng)的展示數(shù)據(jù)。
1. 入門級(jí)
入門級(jí)的意思是該工具是可視化工作者必須掌握的技能,難度不一定小、門檻也不一定低。相反,對(duì)于可視化大拿來說,這些工具依舊起到四兩撥千斤的妙用。
Excel
別以為EXCEL只會(huì)處理表格,你可以把它當(dāng)成數(shù)據(jù)庫,也可以把它當(dāng)成IDE,甚至可以把它當(dāng)成數(shù)據(jù)可視化工具來使用。它可以創(chuàng)建專業(yè)的數(shù)據(jù)透視表和基本的統(tǒng)計(jì)圖表,但由于默認(rèn)設(shè)置了顏色、線條和風(fēng)格,使其難以創(chuàng)建用于看上去“高大上”視覺效果。盡管如此,我仍然推薦你使用Excel。
億信BI
億信BI真正敏捷實(shí)用的商業(yè)智能分析平臺(tái),相信每一個(gè)接觸到數(shù)據(jù)可視化的人都聽說過億信BI,億信BI是一款數(shù)據(jù)可視化工具,可輕松實(shí)現(xiàn)中國式報(bào)表、dashboard儀表盤、統(tǒng)計(jì)圖、地圖分析、分析報(bào)告、多維分析等它不需要編程,而僅僅通過簡單的拖拽操作即可完成驚艷的效果。對(duì)比Excel,它是專業(yè)應(yīng)對(duì)數(shù)據(jù)可視化方案的利器,主要表現(xiàn)在數(shù)據(jù)可視化、聚焦/深挖、靈活分析、交互設(shè)計(jì)等功能。億信BI是為數(shù)據(jù)而生,他洞悉數(shù)據(jù)的蛛絲馬跡,發(fā)現(xiàn)數(shù)據(jù)的潛在價(jià)值,預(yù)測(cè)數(shù)據(jù)的發(fā)展趨勢(shì),他可以構(gòu)建大型的總和數(shù)據(jù)分析平臺(tái),也可以作為小型的個(gè)性化的解決方案。億信BI***的缺點(diǎn)在于它是商業(yè)軟件,不過官方提供試用。
2. 在線數(shù)據(jù)可視化
Google Charts
Google Charts是一個(gè)免費(fèi)的開源js庫,使用起來非常簡單,只需要在標(biāo)簽中將src指向然后即可開始繪制。它支持HTML5/SVG,可以跨平臺(tái)部署,并特意為兼容舊版本的IE采用了vml。
在新版google charts 發(fā)布之前,google有個(gè)類似的產(chǎn)品叫做Google Charts API,不同之處在于后者使用http請(qǐng)求的方式將參數(shù)提交到api,而后接口返回一張png圖片。
Flot
Flot是一個(gè)很棒的線圖和條形圖創(chuàng)建工具,可以運(yùn)用于支持canvas的所有瀏覽器——意味著大多數(shù)主流瀏覽器。這是一個(gè)jQuery庫,如果你已經(jīng)熟悉jQuery,你就可以容易的對(duì)圖像進(jìn)行回調(diào)、風(fēng)格和行為操作。 浮懸的優(yōu)點(diǎn)是你可以訪問大量的調(diào)用函數(shù),這樣就可以運(yùn)行你自己的代碼。設(shè)定一種風(fēng)格,可以讓在用戶懸停鼠標(biāo)、點(diǎn)擊、移開鼠標(biāo)時(shí)展示不同的效果。比起其他制圖工具,浮懸給予你更多的靈活空間。浮懸提供的選項(xiàng)不多,但它可以很好地執(zhí)行常見的功能。
D3
D3(Data Driven Documents)是支持SVG渲染的另一種Java庫。但是D3能夠提供大量線性圖和條形圖之外的復(fù)雜圖表樣式,例如Voronoi圖、樹形圖、圓形集群和單詞云等。D3.js是數(shù)據(jù)驅(qū)動(dòng)文件(Data-Driven Documents)的縮寫,他通過使用HTMLCSS和SVG來渲染精彩的圖表和分析圖。D3對(duì)網(wǎng)頁標(biāo)準(zhǔn)的強(qiáng)調(diào)足以滿足在所有主流瀏覽器上使用的可能性,使你免于被其他類型架構(gòu)所捆綁的苦惱,它可以將視覺效果很棒的組件和數(shù)據(jù)驅(qū)動(dòng)方法結(jié)合在一起。
Echarts百度出品的優(yōu)秀產(chǎn)品之一,也是國內(nèi)目前開源項(xiàng)目中少有的精品。一個(gè)純 Java 的圖表庫,可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,底層依賴輕量級(jí)的 Canvas 類庫 ZRender,提供直觀,生動(dòng),可交互,可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。3.0版本中更是加入了更多豐富的交互功能以及更多的可視化效果,并且對(duì)移動(dòng)端做了深度的優(yōu)化。Echarts最令人心動(dòng)的是它豐富的圖表類型,以及極低的上手難度。
Highcharts在Echarts出現(xiàn)之初,功能還不是那么完善,可視化工作者往往會(huì)選擇HighCharts。Highcharts 系列軟件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款軟件,均為純 Java 編寫的 HTML5 圖表庫。Highcharts 是一個(gè)用純 Java 編寫的一個(gè)圖表庫, 能夠很簡單便捷的在 Web 網(wǎng)站或是 Web 應(yīng)用程序添加有交互性的圖表。Highstock 是用純 Java 編寫的股票圖表控件,可以開發(fā)股票走勢(shì)或大數(shù)據(jù)量的時(shí)間軸圖表,Highmaps 是一款基于 HTML5 的優(yōu)秀地圖組件。
R嚴(yán)格來說,R是一種數(shù)據(jù)分析語言,與matlab、GNU Octave并列。然而ggplot2的出現(xiàn)讓R成功躋身于可視化工具的行列,作為R中強(qiáng)大的作圖軟件包,ggplot2牛在其自成一派的數(shù)據(jù)可視化理念。它將數(shù)據(jù)、數(shù)據(jù)相關(guān)繪圖、數(shù)據(jù)無關(guān)繪圖分離,并采用圖層式的開發(fā)邏輯,且不拘泥于規(guī)則,各種圖形要素可以自由組合。當(dāng)熟悉了ggplot2的基本套路后,數(shù)據(jù)可視化工作將變得非常輕松而有條理。
DataV阿里出品的數(shù)據(jù)可視化解決方案,之所以推薦DataV這個(gè)后起之秀,完全是因?yàn)樘詫氹p“11”活動(dòng)中實(shí)時(shí)互動(dòng)大屏幕太搶眼了。DataV支持多種數(shù)據(jù)源,尤其是和阿里系各種數(shù)據(jù)庫***銜接,如果你的數(shù)據(jù)本身就存在阿里云上,那選用DataV肯定是個(gè)省時(shí)省力的好辦法。圖表方面,DataV內(nèi)置了豐富的圖表模板,支持實(shí)時(shí)數(shù)據(jù)采集和解析。
3. 類GUI數(shù)據(jù)可視化CrossfilterCrossfilter 是一個(gè)用來展示大數(shù)據(jù)集的 Java 庫,它可以把數(shù)據(jù)可視化和GUI控件結(jié)合起來,按鈕、下拉和滑塊演變成更復(fù)雜的界面元素,使你擴(kuò)展內(nèi)容,同時(shí)改變輸入?yún)?shù)和數(shù)據(jù)。交互速度超快,甚至在上百萬或者更多數(shù)據(jù)下都很快。Crossfilter也是一種Java庫,它可以在幾乎不影響速度的前提下對(duì)數(shù)據(jù)創(chuàng)建過濾器,將過濾后的數(shù)據(jù)用于展示,且涉及有限維度,因此可以完成對(duì)海量數(shù)據(jù)集的篩選與加載。
4. 進(jìn)階工具 ProcessingProcessing 是用 Java 編程語言寫的,并且 Java 語言也是在語言樹中最接近 Processing 的。所以,如果您熟悉 C 或 Java 語言,Processing 將很容易學(xué)。Processing 并不包括 Java 語言的一些較為高級(jí)的特性,但這些特性中的很多特性均已集成到了 Processing。如今,圍繞它已經(jīng)形成了一個(gè)專門的社區(qū),致力于構(gòu)建各種庫以供用這種語言和環(huán)境進(jìn)行動(dòng)畫、可視化、網(wǎng)絡(luò)編程以及很多其他的應(yīng)用。Processing 是一個(gè)很棒的進(jìn)行數(shù)據(jù)可視化的環(huán)境,具有一個(gè)簡單的接口、一個(gè)功能強(qiáng)大的語言以及一套豐富的用于數(shù)據(jù)以及應(yīng)用程序?qū)С龅臋C(jī)制。
WekaWeka是一個(gè)能根據(jù)屬性分類和集群大量數(shù)據(jù)的優(yōu)秀工具,Weka不但是數(shù)據(jù)分析的強(qiáng)大工具,還能生成一些簡單的圖表。weka首先是一個(gè)數(shù)據(jù)挖掘的利器,它能夠快速導(dǎo)入我們的結(jié)構(gòu)化數(shù)據(jù),然后對(duì)數(shù)據(jù)屬性做分類、聚類分析,幫助我們理解數(shù)據(jù)。但他的可視化功能同樣不遜色,選擇界面中的visualization,你會(huì)立刻明白:是它讓你理解數(shù)據(jù),然后你才讓用戶可視化數(shù)據(jù)。