天天看點

資料分析與可視化,你靠什麼搞定?

事實表明,大資料技術的戰略意義不在于掌握龐大的資料資訊,而在于對這些含有意義的資料進行專業化處理。可以說資料分析是決策過程中的決定性因素,也是大資料時代發揮資料價值的最關鍵環節。 在這一方面,憑借着卓越的實際表現與易于上手的學習曲線,javascript在開發者中獲得了極高人氣。事實上,多家巨頭級企業已經在利用這款程式設計語言進行基于web的資料分析工作。twitter、facebook乃至領英都在利用基于java的架構作為其資料工程基礎設施的标準語言選項。

資料分析與可視化,你靠什麼搞定?

在本文中,我們将共同了解四款出色的javascript庫,其能夠幫助大家更為輕松地完成資料分析與可視化工作。

1. data-driven-documents (d3.js)

在讨論javascript資料分析時忽略掉data-driven-documents (d3),就如同在談論微軟時忽略掉其作業系統一樣。

data-driven-documents,亦被稱為d3.js,是一套利用dom對象實作資料操作的javascript庫。其能夠将任意資料綁定至文檔對象模型(簡稱dom)當中,并利用html、svg與css渲染将其轉化為有意義資訊。

d3的核心在于利用由web标準實作的靈活性進行基于web的資料分析與可視化處理,且可充分利用現代浏覽器的全部能力而不必綁定至專有架構。它能夠以無縫化方式将資料驅動型方案同dom操作以及強大的可視化功能加以結合。

為何出色?

強大的資料可視化能力是d3的最大優勢。這并不是那種隻能支援特定待使用圖表與圖形的整體式架構。事實上,它甚至不要求使用者使用特定架構,意味着我們可以更為輕松地利用其在html之上實作各類極具創意的複雜且互動式可視化元素。另外,其能夠處理多種輸入資料格式,包括xml、csv與json。

2. aperture js

aperture js是一套強大、靈活且可擴充的javascript庫,用于建立可擴充可視化成果以實作資料分析。其擁有獨一無二的分層式可視化方案。其極具輕量化特性,但同時又提供多種豐富功能。

aperture的強大api能夠适應任何類型的資料源。視覺映射機制使其能夠輕松将原始資料轉換為各類互動式可視形式。輸出結果可渲染為svg格式以供網絡浏覽器檢視。除了相容一切現代浏覽器外,其甚至能夠通過vml渲染支援較早的ie版本(ie 7/8)。

aperture vizlets(可視化格式)天然适合移動浏覽器,且可輕松嵌入至基于web的用戶端架構。憑借着這種廣泛相容性帶來的擴充能力,其能夠提供全互動式使用者體驗。

3. infovis

javascript infovis toolkit,亦被稱為infovis,為目前最為出色的互動式資料可視化javascript庫之一。這是一款基于dom的操作庫,能夠支援多種圖表/圖形類型并包含大量酷炫的動畫效果。其支援基于json的資料源,并可将其加載并顯示為html畫闆元素。

infovis的最大優勢在于其獨特的可視化類型支援能力——除了條形圖、面積圖與餅狀圖外,其還提供更多其它輸出形式。最重要的是,大家無需進階腳本知識或者javascript經驗即可上手使用。通過其中預內建的可視化元素,您可以實作多種進階功能,例如樹狀圖、超樹圖、rgraph、forceredirect以及放射狀圖等,而無需編寫任何代碼。

4. cytoscape.js

如果大家需要對關系資料進行模組化并将其轉換為互動式圖形,那麼cytoscope.js絕對是最理想的選擇。無論您身為js新手還是老鳥,都能夠輕松愉快地利用這款強大的腳本化庫完成互動式可視化結果的建立。

cytoscape是一套被廣泛用于圖形資料分析與可視化的js庫。這款輕量化庫完全由js語言編寫而成,允許大家使用豐富的圖形格式顯示并操作資料。由于基于開源許可(mit),其還包含大量與圖論理論算法相關的實用函數——包括bfs與pagerank等等。

除了能夠對關系資料進行渲染外,cytoscape還能夠輕松在node.js上起飛兒以實作伺服器端資料分析——這意味着其完全可以作為一套完整的資料分析與可視化工具包。

當然,本文提到的還隻是衆多相關選項中的幾種。如果您有志于投身資料分析與可視化這一職業方向,那麼不妨從這裡入手,逐漸完成您的發展夢想,也歡迎随時加入我們,共同學習探讨。

本文作者:佚名

來源:51cto