前言
數(shù)據(jù)可視化,是指將相對(duì)晦澀的的數(shù)據(jù)通過(guò)可視的、交互的方式進(jìn)行展示,從而形象、直觀地表達(dá)數(shù)據(jù)蘊(yùn)含的信息和規(guī)律。
早期的數(shù)據(jù)可視化作為咨詢(xún)機(jī)構(gòu)、金融企業(yè)的專(zhuān)業(yè)工具,其應(yīng)用領(lǐng)域較為單一,應(yīng)用形態(tài)較為保守。步入大數(shù)據(jù)時(shí)代,各行各業(yè)對(duì)數(shù)據(jù)的重視程度與日俱增,隨之而來(lái)的是對(duì)數(shù)據(jù)進(jìn)行一站式整合、挖掘、分析、可視化的需求日益迫切,數(shù)據(jù)可視化呈現(xiàn)出愈加旺盛的生命力,表現(xiàn)之一就是視覺(jué)元素越來(lái)越多樣,從樸素的柱狀圖/餅狀圖/折線圖,擴(kuò)展到地圖、氣泡圖、樹(shù)圖、儀表盤(pán)等各式圖形。表現(xiàn)之二是可用的開(kāi)發(fā)工具越來(lái)越豐富,從專(zhuān)業(yè)的數(shù)據(jù)庫(kù)/財(cái)務(wù)軟件,擴(kuò)展到基于各類(lèi)編程語(yǔ)言的可視化庫(kù),相應(yīng)的應(yīng)用門(mén)檻也越來(lái)越低。
數(shù)據(jù)可視化,不僅僅是統(tǒng)計(jì)圖表。本質(zhì)上,任何能夠借助于圖形的方式展示事物原理、規(guī)律、邏輯的方法都叫數(shù)據(jù)可視化。
數(shù)據(jù)可視化不僅是一門(mén)包含各種算法的技術(shù), 還是一個(gè)具有方法論的學(xué)科。一般而言,完整的可視化流程包括以下內(nèi)容:
可視化輸入:包括可視化任務(wù)的描述,數(shù)據(jù)的來(lái)源與用途,數(shù)據(jù)的基本屬性、概念模型等;
可視化處理:對(duì)輸入的數(shù)據(jù)進(jìn)行各種算法加工,包括數(shù)據(jù)清洗、篩選、降維、聚類(lèi)等操作,并將數(shù)據(jù)與視覺(jué)編碼進(jìn)行映射;
可視化輸出:基于視覺(jué)原理和任務(wù)特性,選擇合理的生成工具和方法,生成可視化作品。
實(shí)際上,從“數(shù)據(jù)可視化”的命名,便很容易看出數(shù)據(jù)可視化從業(yè)者如何開(kāi)始可視化設(shè)計(jì),那便是:處理數(shù)據(jù),設(shè)計(jì)視覺(jué),完成從數(shù)據(jù)空間到可視空間的映射, 必要時(shí)重復(fù)數(shù)據(jù)處理和圖形繪制的循環(huán)組合。
1. 分析數(shù)據(jù)
首先,我們需要對(duì)數(shù)據(jù)做一個(gè)全面而細(xì)致的解讀,數(shù)據(jù)的特點(diǎn)決定著可視化的設(shè)計(jì)原則。每項(xiàng)數(shù)據(jù)都有特定的屬性(或稱(chēng)特征、維度)和對(duì)應(yīng)的值,一組屬性構(gòu)成特征列表。按照屬性的類(lèi)型,數(shù)據(jù)可以分為數(shù)值型、有序型、類(lèi)別型,數(shù)值型又可以進(jìn)一步分為固定零點(diǎn)和非固定零點(diǎn)。其中,固定零點(diǎn)數(shù)據(jù)囊括了我們大多數(shù)的數(shù)據(jù)對(duì)象,它們都可以對(duì)應(yīng)到數(shù)軸上的某個(gè)點(diǎn);非固定零點(diǎn)主要包括以數(shù)值表示的特定含義,如表示地理信息的經(jīng)緯度、表示日期的年月日等,在分析非固定零點(diǎn)數(shù)據(jù)時(shí),我們更在意的是它們的區(qū)間。
在對(duì)數(shù)據(jù)做過(guò)預(yù)處理和分析之后,我們就能夠觀察出待處理數(shù)據(jù)的分布和維度,再結(jié)合業(yè)務(wù)邏輯和可視化目標(biāo),有可能還要對(duì)數(shù)據(jù)做某些變換,這些變換包括:
標(biāo)準(zhǔn)化,常用的手段包括(0,1)標(biāo)準(zhǔn)化或(-1,1)標(biāo)準(zhǔn)化,分別對(duì)應(yīng)的是sigmoid函數(shù)和tanh函數(shù),這么做的目的在于使數(shù)據(jù)合法和美觀,但在這一過(guò)程中可能丟失影響數(shù)據(jù)分布、維度、趨勢(shì)的信息,應(yīng)該予以特別注意;
擬合/平滑,為表現(xiàn)數(shù)據(jù)變化趨勢(shì),使受眾對(duì)數(shù)據(jù)發(fā)展有所預(yù)測(cè),我們會(huì)引入回歸來(lái)對(duì)數(shù)據(jù)進(jìn)行擬合,以達(dá)到減少噪音,凸顯數(shù)據(jù)趨勢(shì)的目的;
采樣,有些情況下,數(shù)據(jù)點(diǎn)過(guò)多,以至于不易可視化或者影響視覺(jué)體驗(yàn),我們會(huì)使用隨機(jī)采樣的方法抽取部分?jǐn)?shù)據(jù)點(diǎn),抽樣結(jié)果與全集近似分布,同時(shí)不影響可視化元素的對(duì)比或趨勢(shì);
降維,一般而言,同一可視化圖表中能夠承載的維度有限(很難超過(guò)3個(gè)維度),必須對(duì)整個(gè)數(shù)據(jù)集進(jìn)行降維處理。
2. 可視化設(shè)計(jì)
在開(kāi)始設(shè)計(jì)之前,我們需要對(duì)人類(lèi)視覺(jué)以及注意力作簡(jiǎn)要分析,這決定著我們?nèi)绾卧诘谝粫r(shí)間抓住受眾的注意力。
人類(lèi)視覺(jué)感知到心理認(rèn)知的過(guò)程要經(jīng)過(guò)信息的獲取、分析、歸納、解碼、儲(chǔ)存、概念、提取、使用等一系列加工階段,每個(gè)階段需要不同的人體組織和器官參與。簡(jiǎn)單來(lái)講,人類(lèi)視覺(jué)的特點(diǎn)是:
對(duì)亮度、運(yùn)動(dòng)、差異更敏感,對(duì)紅色相對(duì)于其他顏色更為敏感;
對(duì)于具備某些特點(diǎn)的視覺(jué)元素具備很強(qiáng)的“腦補(bǔ)”能力,比如空間距離較近的點(diǎn)往往被認(rèn)為具有某些共同的特點(diǎn);
對(duì)眼球中心正面物體的分辨率更高,這是由于人類(lèi)晶狀體中心區(qū)域錐體細(xì)胞分布最為密集;
人們?cè)谟^察事物時(shí)習(xí)慣于將具有某種方向上的趨勢(shì)的物體視為連續(xù)物體;
人們習(xí)慣于使用“經(jīng)驗(yàn)”去感知事物整體,而忽略局部信息。
這里引入一個(gè)概念——可視編碼,它數(shù)據(jù)信息映射為可視化元素的技術(shù),其通常具有表達(dá)直觀、易于理解和記憶的特性。數(shù)據(jù)包含屬性和值,相應(yīng)可視編碼也由兩部分組成:標(biāo)記和視覺(jué)通道,標(biāo)記代表數(shù)據(jù)屬性的分類(lèi),視覺(jué)通道表示人眼所能看到的各種元素的屬性,包括大小、形狀、顏色等,往往用來(lái)展示屬性的定量信息。例如,對(duì)于柱狀圖而言,標(biāo)記就是矩形,視覺(jué)通道就是矩形的顏色、高度或?qū)挾鹊取?/p>
數(shù)據(jù)可視化的設(shè)計(jì)目標(biāo)和制作原則在于信、達(dá)、雅,即一要精準(zhǔn)展現(xiàn)數(shù)據(jù)的差異、趨勢(shì)、規(guī)律,二要準(zhǔn)確傳遞核心思想,三要簡(jiǎn)潔美觀,不攜帶冗余信息。結(jié)合人的視覺(jué)特點(diǎn),很容易總結(jié)出好的數(shù)據(jù)可視化作品的基本特征:
讓用戶(hù)的視線聚焦在可視化結(jié)果中最重要的部分;
對(duì)于有對(duì)比需求的數(shù)據(jù),使用亮度、大小、形狀來(lái)進(jìn)行編碼更佳;
使用盡量少的視覺(jué)通道編碼數(shù)據(jù),避免干擾信息。
3. 可視編碼的選擇
如同只學(xué)過(guò)視聽(tīng)語(yǔ)言并不能設(shè)計(jì)出可用的電影分鏡一樣,數(shù)據(jù)可視化這一藝術(shù)設(shè)計(jì)色彩濃厚的工作絕非做過(guò)幾個(gè)餅圖、柱狀圖就能勝任。在開(kāi)始涉足實(shí)踐講解之前,我們需要解決以下疑問(wèn):
可視化設(shè)計(jì)中優(yōu)先選擇哪些視覺(jué)通道?有多少種視覺(jué)通道可供使用?某個(gè)視覺(jué)通道能編碼什么信息,能包含多少信息量?視覺(jué)通道表達(dá)信息能力的區(qū)別?哪些視覺(jué)通道互不相關(guān)而哪些又相互影響?
看看下圖,或許能從一定程度上給出答案:
上圖列舉了數(shù)據(jù)可視化作品中常用的視覺(jué)編碼通道,針對(duì)同種數(shù)據(jù)類(lèi)型,采用不同的視覺(jué)通道帶來(lái)的主觀認(rèn)知差異很大。數(shù)值型適合用能夠量化的視覺(jué)通道表示,如坐標(biāo)、長(zhǎng)度等,使用顏色表示的效果就大打折扣,且容易引起歧義;類(lèi)似地,序列型適合用區(qū)分度明顯的視覺(jué)通道表示,類(lèi)別型適合用易于分組的視覺(jué)通道。
需要指出的是,上圖蘊(yùn)含的理念可以應(yīng)對(duì)絕大多數(shù)應(yīng)用場(chǎng)景下可視化圖形的設(shè)計(jì)“套路”,但數(shù)據(jù)可視化作為視覺(jué)設(shè)計(jì)的本質(zhì)決定了“山無(wú)常勢(shì),水無(wú)常形”,任何可視化效果都拒絕生搬硬套,更不要說(shuō)數(shù)據(jù)可視化的應(yīng)用還要受到業(yè)務(wù)、場(chǎng)景和受眾的影響。
4. 配色
相信每一個(gè)碼農(nóng)出身的數(shù)據(jù)分析師在做可視化設(shè)計(jì)時(shí),都會(huì)對(duì)色彩如何搭配產(chǎn)生過(guò)困惑。色彩理論看起來(lái)簡(jiǎn)單卻又乏味,用起來(lái)卻不是那么得心應(yīng)手。那么,如何讓數(shù)據(jù)可視化作品簡(jiǎn)約、靈動(dòng)、美觀?下面介紹一些通用技巧。
1)色調(diào)與明度的跨度都要大
要確保配色非常容易辨識(shí)與區(qū)分,它們的明度差異一定要夠大。明度差異需要全局考慮。但是,有一組明度跨度大的配色還不夠。配色越多樣,用戶(hù)越容易將數(shù)據(jù)與圖像聯(lián)系起來(lái)。如果能善加利用色調(diào)的變化,就能使用戶(hù)接受起來(lái)更加輕松。對(duì)于明度與色調(diào),跨度越大,就能承載越多的數(shù)據(jù)。下圖展示了相同色系下不同明度的色階對(duì)比:
2)仿照自然的配色
各行各業(yè)的設(shè)計(jì)師都知道這個(gè)小秘密,對(duì)于數(shù)據(jù)可視化工程師而言,這招更是屢試不爽。一個(gè)簡(jiǎn)單有效的方法是:找出心儀的圖片,比如唯美的風(fēng)景照片,使用photoshop中“濾鏡—馬賽克—調(diào)整多邊形形狀和大小”即可看到該圖片中包含的各種顏色,然后利用吸管工具選出幾種顏色即可:
3)使用漸變
無(wú)論你需要2種顏色還是10種,漸變中都能提取出這些顏色,讓可視化圖表感覺(jué)自然,同時(shí)保有足夠的色調(diào)與明度差異。一個(gè)使用漸變的好方法就是:在Photoshop中拉輔助線到斷點(diǎn)位置,與數(shù)據(jù)的數(shù)量對(duì)應(yīng)上,然后持續(xù)對(duì)漸變進(jìn)行測(cè)試與調(diào)整。
可以看到,配色表緊挨著頂部的灰度漸變,調(diào)整漸變疊加(之后就能得到精確的漸變色值),然后從那些斷點(diǎn)處選取顏色,測(cè)試配色在實(shí)際運(yùn)用中的效果。
4)使用配色工具
網(wǎng)上各種免費(fèi)資源比比皆是,對(duì)于想設(shè)計(jì)出靚麗效果又無(wú)計(jì)可施的人而言,多參考以下這些工具是一個(gè)好辦法:
ColorHunt——高質(zhì)量配色方案,能夠快速預(yù)覽,如果你只需要4種顏色,這是絕佳的資源;
Kuler——photoshop配色工具,Adobe家出的,應(yīng)該錯(cuò)不了;
Chroma.js——Chroma.js是一個(gè)微型的JavaScript庫(kù),適用于各種顏色處理的,可實(shí)現(xiàn)各種顏色的轉(zhuǎn)換和色階處理;
Color brewer——地圖配色利器,如果你對(duì)基于地圖的可視化配色方案感到困惑,這個(gè)在線工具應(yīng)該能夠幫到你。
此外,關(guān)于配色還有一些小技巧可供參考:遵循公司既定的品牌風(fēng)格;根據(jù)數(shù)據(jù)描述的對(duì)象來(lái)定,如數(shù)據(jù)描述的是咖啡,則可以考慮使用咖色系;使用季節(jié)或者節(jié)日相關(guān)主題的色彩;如果你實(shí)在對(duì)顏色搭配感到頭疼,那就多使用萬(wàn)能的“灰色”和陰影。
統(tǒng)計(jì)圖表
統(tǒng)計(jì)圖表是使用最早的可視化圖形,在數(shù)百年的進(jìn)化過(guò)程中,逐漸形成了基本“套路”,符合人類(lèi)感知和認(rèn)知,進(jìn)而被廣泛接受。
常見(jiàn)于各種分析報(bào)告的有柱狀圖、折線圖、餅圖、散點(diǎn)圖、氣泡圖、雷達(dá)圖,對(duì)于這些最常用的圖表類(lèi)型,下表可以為你指明大致方向:

我們?cè)谥谱骺梢暬瘓D表時(shí),首先要從業(yè)務(wù)出發(fā),優(yōu)先挑選合理的、符合慣例的圖表,尤其是如果你的用戶(hù)層次比較多樣的情況下,請(qǐng)兼顧各個(gè)年齡段或者不同認(rèn)知能力的用戶(hù)的需求;其次是根據(jù)數(shù)據(jù)的各種屬性和統(tǒng)計(jì)圖表的特點(diǎn)來(lái)選擇,例如餅圖并不適合用作展示絕對(duì)數(shù)值,只適用于反映各部分的比例。對(duì)于常用圖表,帶著目的出發(fā),遵循各種約束,相信你能找到合適的圖表:
除了常用的圖表之外,可供我們選擇的還有:
漏斗圖:漏斗圖適用于業(yè)務(wù)流程比較規(guī)范、周期長(zhǎng)、環(huán)節(jié)多的流程分析,通過(guò)漏斗各環(huán)節(jié)業(yè)務(wù)數(shù)據(jù)的比較,能夠直觀地發(fā)現(xiàn)和說(shuō)明問(wèn)題所在。
(矩形)樹(shù)圖:一種有效的實(shí)現(xiàn)層次結(jié)構(gòu)可視化的圖表結(jié)構(gòu),適用于表示類(lèi)似文件目錄結(jié)構(gòu)的數(shù)據(jù)集;
熱力圖:以特殊高亮的形式顯示訪客熱衷的頁(yè)面區(qū)域和訪客所在的地理區(qū)域的圖示,它基于GIS坐標(biāo),用于顯示人或物品的相對(duì)密度;
關(guān)系圖:基于3D空間中的點(diǎn)—線組合,再加以顏色、粗細(xì)等維度的修飾,適用于表征各節(jié)點(diǎn)之間的關(guān)系;
詞云:各種關(guān)鍵詞的集合,往往以字體的大小或顏色代表對(duì)應(yīng)詞的頻次;
?;鶊D:一種有一定寬度的曲線集合表示的圖表,適用于展現(xiàn)分類(lèi)維度間的相關(guān)性,以流的形式呈現(xiàn)共享同一類(lèi)別的元素?cái)?shù)量,比如展示特定群體的人數(shù)分布等;
日歷圖:顧名思義,以日歷為基本維度的對(duì)單元格加以修飾的圖表。
數(shù)據(jù)可視化的工具
新型的數(shù)據(jù)可視化產(chǎn)品層出不窮,基本上各種語(yǔ)言都有自己的可視化庫(kù),傳統(tǒng)數(shù)據(jù)分析及BI軟件也都擴(kuò)展出一定的可視化功能,再加上專(zhuān)門(mén)的用于可視化的成品軟件,我們的可選范圍實(shí)在是太多了。那么,我們要選擇的可視化工具,必須滿(mǎn)足互聯(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ù)量的爆炸式增長(zhǎng)需求,必須快速的收集分析數(shù)據(jù)、并對(duì)數(shù)據(jù)信息進(jìn)行實(shí)時(shí)更新;
簡(jiǎn)單操作:數(shù)據(jù)可視化工具滿(mǎn)足快速開(kāi)發(fā)、易于操作的特性,能滿(mǎn)足互聯(lián)網(wǎng)時(shí)代信息多變的特點(diǎn);
更豐富的展現(xiàn):數(shù)據(jù)可視化工具需具有更豐富的展現(xiàn)方式,能充分滿(mǎn)足數(shù)據(jù)展現(xiàn)的多維度要求;
多種數(shù)據(jù)集成支持方式:數(shù)據(jù)的來(lái)源不僅僅局限于數(shù)據(jù)庫(kù);很多數(shù)據(jù)可視化工具都支持團(tuán)隊(duì)協(xié)作數(shù)據(jù)、數(shù)據(jù)倉(cāng)庫(kù)、文本等多種方式,并能夠通過(guò)互聯(lián)網(wǎng)進(jìn)行展現(xiàn)。
數(shù)據(jù)可視化主要通過(guò)編程和非編程兩類(lèi)工具實(shí)現(xiàn)。主流編程工具包括以下三種類(lèi)型:從藝術(shù)的角度創(chuàng)作的數(shù)據(jù)可視化,比較典型的工具是 Processing,它是為藝術(shù)家提供的編程語(yǔ)言;從統(tǒng)計(jì)和數(shù)據(jù)處理的角度,既可以做數(shù)據(jù)分析,又可以做圖形處理,如R,SAS;介于兩者之間的工具,既要兼顧數(shù)據(jù)處理,又要兼顧展現(xiàn)效果,D3.js、Echarts都是很不錯(cuò)的選擇,二者這種基于Javascript的數(shù)據(jù)可視化工具更適合在互聯(lián)網(wǎng)上互動(dòng)的展示數(shù)據(jù)。
1. 入門(mén)級(jí)
入門(mén)級(jí)的意思是該工具是可視化工作者必須掌握的技能,難度不一定小、門(mén)檻也不一定低。相反,對(duì)于可視化大拿來(lái)說(shuō),這些工具依舊起到四兩撥千斤的妙用。
Excel
別以為EXCEL只會(huì)處理表格,你可以把它當(dāng)成數(shù)據(jù)庫(kù),也可以把它當(dāng)成IDE,甚至可以把它當(dāng)成數(shù)據(jù)可視化工具來(lái)使用。它可以創(chuàng)建專(zhuān)業(yè)的數(shù)據(jù)透視表和基本的統(tǒng)計(jì)圖表,但由于默認(rèn)設(shè)置了顏色、線條和風(fēng)格,使其難以創(chuàng)建用于看上去“高大上”視覺(jué)效果。盡管如此,我仍然推薦你使用Excel。
Tableau
相信每一個(gè)接觸到數(shù)據(jù)可視化的人都聽(tīng)說(shuō)過(guò)Tableau,它需要一些結(jié)構(gòu)化的數(shù)據(jù), 也需要你懂一些BI。 它不需要編程,而僅僅通過(guò)簡(jiǎn)單的拖拽操作即可完成驚艷的效果。對(duì)比Excel,它是專(zhuān)業(yè)應(yīng)對(duì)數(shù)據(jù)可視化方案的利器,主要表現(xiàn)在數(shù)據(jù)可視化、聚焦/深挖、靈活分析、交互設(shè)計(jì)等功能。Tableau最大的缺點(diǎn)在于它是商業(yè)軟件,個(gè)人使用的話(huà)只有14天的免費(fèi)期,而官方售價(jià)不菲。
2. 在線數(shù)據(jù)可視化
Google Charts
Google Charts是一個(gè)免費(fèi)的開(kāi)源js庫(kù),使用起來(lái)非常簡(jiǎn)單,只需要在script標(biāo)簽中將src指向https://www.gstatic.com/charts/loader.js然后即可開(kāi)始繪制。它支持HTML5/SVG,可以跨平臺(tái)部署,并特意為兼容舊版本的IE采用了vml。
在新版googlecharts 發(fā)布之前,google有個(gè)類(lèi)似的產(chǎn)品叫做Google Charts API,不同之處在于后者使用http請(qǐng)求的方式將參數(shù)提交到api,而后接口返回一張png圖片。如打開(kāi)http://chart.googleapis.com/chart?cht=bvg&chs=250x150&chd=s:Monkeys&chxt=x,y&chxs=0,ff0000,12,0,lt|1,0000ff,10,1,lt,即可顯示下圖:
Flot
Flot是一個(gè)很棒的線圖和條形圖創(chuàng)建工具,可以運(yùn)用于支持canvas的所有瀏覽器——意味著大多數(shù)主流瀏覽器。這是一個(gè)jQuery庫(kù),如果你已經(jīng)熟悉jQuery,你就可以容易的對(duì)圖像進(jìn)行回調(diào)、風(fēng)格和行為操作。浮懸的優(yōu)點(diǎn)是你可以訪問(wèn)大量的調(diào)用函數(shù),這樣就可以運(yùn)行你自己的代碼。設(shè)定一種風(fēng)格,可以讓在用戶(hù)懸停鼠標(biāo)、點(diǎn)擊、移開(kāi)鼠標(biāo)時(shí)展示不同的效果。比起其他制圖工具,浮懸給予你更多的靈活空間。浮懸提供的選項(xiàng)不多,但它可以很好地執(zhí)行常見(jiàn)的功能。
D3
D3(Data Driven Documents)是支持SVG渲染的另一種JavaScript庫(kù)。但是D3能夠提供大量線性圖和條形圖之外的復(fù)雜圖表樣式,例如Voronoi圖、樹(shù)形圖、圓形集群和單詞云等。D3.js是數(shù)據(jù)驅(qū)動(dòng)文件(Data-Driven Documents)的縮寫(xiě),他通過(guò)使用HTMLCSS和SVG來(lái)渲染精彩的圖表和分析圖。D3對(duì)網(wǎng)頁(yè)標(biāo)準(zhǔn)的強(qiáng)調(diào)足以滿(mǎn)足在所有主流瀏覽器上使用的可能性,使你免于被其他類(lèi)型架構(gòu)所捆綁的苦惱,它可以將視覺(jué)效果很棒的組件和數(shù)據(jù)驅(qū)動(dòng)方法結(jié)合在一起。
Echarts
百度出品的優(yōu)秀產(chǎn)品之一,也是國(guó)內(nèi)目前開(kāi)源項(xiàng)目中少有的精品。一個(gè)純 Javascript 的圖表庫(kù),可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,底層依賴(lài)輕量級(jí)的 Canvas 類(lèi)庫(kù) ZRender,提供直觀,生動(dòng),可交互,可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。3.0版本中更是加入了更多豐富的交互功能以及更多的可視化效果,并且對(duì)移動(dòng)端做了深度的優(yōu)化。Echarts最令人心動(dòng)的是它豐富的圖表類(lèi)型,以及極低的上手難度。
Highcharts
在Echarts出現(xiàn)之初,功能還不是那么完善,可視化工作者往往會(huì)選擇HighCharts。Highcharts 系列軟件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款軟件,均為純 JavaScript 編寫(xiě)的 HTML5 圖表庫(kù)。Highcharts 是一個(gè)用純 JavaScript 編寫(xiě)的一個(gè)圖表庫(kù), 能夠很簡(jiǎn)單便捷的在 Web 網(wǎng)站或是 Web 應(yīng)用程序添加有交互性的圖表。Highstock 是用純 JavaScript 編寫(xiě)的股票圖表控件,可以開(kāi)發(fā)股票走勢(shì)或大數(shù)據(jù)量的時(shí)間軸圖表,Highmaps 是一款基于 HTML5 的優(yōu)秀地圖組件。
R
嚴(yán)格來(lái)說(shuō),R是一種數(shù)據(jù)分析語(yǔ)言,與matlab、GNU Octave并列。然而ggplot2的出現(xiàn)讓R成功躋身于可視化工具的行列,作為R中強(qiáng)大的作圖軟件包,ggplot2牛在其自成一派的數(shù)據(jù)可視化理念。它將數(shù)據(jù)、數(shù)據(jù)相關(guān)繪圖、數(shù)據(jù)無(wú)關(guān)繪圖分離,并采用圖層式的開(kāi)發(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ù)庫(kù)完美銜接,如果你的數(shù)據(jù)本身就存在阿里云上,那選用DataV肯定是個(gè)省時(shí)省力的好辦法。圖表方面,DataV內(nèi)置了豐富的圖表模板,支持實(shí)時(shí)數(shù)據(jù)采集和解析。
3. 類(lèi)GUI數(shù)據(jù)可視化
Crossfilter 是一個(gè)用來(lái)展示大數(shù)據(jù)集的 JavaScript 庫(kù),它可以把數(shù)據(jù)可視化和GUI控件結(jié)合起來(lái),按鈕、下拉和滑塊演變成更復(fù)雜的界面元素,使你擴(kuò)展內(nèi)容,同時(shí)改變輸入?yún)?shù)和數(shù)據(jù)。交互速度超快,甚至在上百萬(wàn)或者更多數(shù)據(jù)下都很快。Crossfilter也是一種JavaScript庫(kù),它可以在幾乎不影響速度的前提下對(duì)數(shù)據(jù)創(chuàng)建過(guò)濾器,將過(guò)濾后的數(shù)據(jù)用于展示,且涉及有限維度,因此可以完成對(duì)海量數(shù)據(jù)集的篩選與加載。
4. 進(jìn)階工具
Processing
Processing 是用 Java 編程語(yǔ)言寫(xiě)的,并且 Java 語(yǔ)言也是在語(yǔ)言樹(shù)中最接近 Processing 的。所以,如果您熟悉 C 或 Java 語(yǔ)言,Processing 將很容易學(xué)。Processing 并不包括 Java 語(yǔ)言的一些較為高級(jí)的特性,但這些特性中的很多特性均已集成到了 Processing。如今,圍繞它已經(jīng)形成了一個(gè)專(zhuān)門(mén)的社區(qū)(https://www.openprocessing.org),致力于構(gòu)建各種庫(kù)以供用這種語(yǔ)言和環(huán)境進(jìn)行動(dòng)畫(huà)、可視化、網(wǎng)絡(luò)編程以及很多其他的應(yīng)用。
Processing 是一個(gè)很棒的進(jìn)行數(shù)據(jù)可視化的環(huán)境,具有一個(gè)簡(jiǎn)單的接口、一個(gè)功能強(qiáng)大的語(yǔ)言以及一套豐富的用于數(shù)據(jù)以及應(yīng)用程序?qū)С龅臋C(jī)制。
Weka
Weka是一個(gè)能根據(jù)屬性分類(lèi)和集群大量數(shù)據(jù)的優(yōu)秀工具,Weka不但是數(shù)據(jù)分析的強(qiáng)大工具,還能生成一些簡(jiǎn)單的圖表。weka首先是一個(gè)數(shù)據(jù)挖掘的利器,它能夠快速導(dǎo)入我們的結(jié)構(gòu)化數(shù)據(jù),然后對(duì)數(shù)據(jù)屬性做分類(lèi)、聚類(lèi)分析,幫助我們理解數(shù)據(jù)。但他的可視化功能同樣不遜色,選擇界面中的visualization,你會(huì)立刻明白:是它讓你理解數(shù)據(jù),然后你才讓用戶(hù)可視化數(shù)據(jù)。
結(jié)語(yǔ)
我們所處的這個(gè)時(shí)代,是一個(gè)知識(shí)大爆發(fā)的時(shí)代。僅就編程這項(xiàng)技能來(lái)說(shuō),現(xiàn)在幾乎人人都能寫(xiě)上一兩行,程序員這個(gè)群體也比十年前有了更多維度上的擴(kuò)展。各種工具的使用門(mén)檻越來(lái)越低,帶來(lái)的是行業(yè)壁壘日漸消弭。會(huì)用某種可視化手段,并不是區(qū)分小白與專(zhuān)家的唯一標(biāo)準(zhǔn),筆者曾聽(tīng)說(shuō)有人拿unity、易語(yǔ)言這樣的神器來(lái)實(shí)現(xiàn)可視化。所以,眼花繚亂的工具永遠(yuǎn)只是輔助,真正決定你在可視化道路上走多遠(yuǎn)的,是你對(duì)可視化理念的準(zhǔn)確把握和執(zhí)著堅(jiān)守。
-
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1959瀏覽量
38915 -
可視化
+關(guān)注
關(guān)注
1文章
1318瀏覽量
22590
原文標(biāo)題:一文讀懂?dāng)?shù)據(jù)可視化
文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
5G的核心不僅僅是技術(shù)
物聯(lián)網(wǎng)不僅僅是連接設(shè)備和無(wú)縫通信
為什么我們需要很少的Vccint引腳用于芯片而不僅僅是1個(gè)引腳?
一般圖表做不了的分析,BI數(shù)據(jù)可視化圖表可以
如何為sja1110創(chuàng)建一個(gè)新的圖像而不僅僅是使用GOLDVIP圖像?
LED在投影機(jī)的運(yùn)用 革新的不僅僅是技術(shù)
買(mǎi)液晶電視,您需要的不僅僅是超薄
iPhone為何這么火?因?yàn)閕Phone不僅僅是一個(gè)手機(jī)
不僅僅是iPhone8 蘋(píng)果還有興趣部署衛(wèi)星進(jìn)行通信
傳感器數(shù)據(jù)融合:不僅僅是傳感器集成
百年汽車(chē)造型的變化,并不僅僅是為了好看?
BI可視化智能分析平臺(tái)開(kāi)發(fā),大數(shù)據(jù)可視化平臺(tái)
工業(yè)互聯(lián)網(wǎng)帶來(lái)的不僅僅是流程上的改變 更重要是管理方式的變革
PCB設(shè)計(jì)不僅僅是技術(shù),還是藝術(shù)資料下載
一個(gè)非常棒的可視化庫(kù):PyG2Plot

數(shù)據(jù)可視化,不僅僅是統(tǒng)計(jì)圖表
評(píng)論