前言
數(shù)據(jù)可視化,是指將相對晦澀的的數(shù)據(jù)通過可視的、交互的方式進(jìn)行展示,從而形象、直觀地表達(dá)數(shù)據(jù)蘊(yùn)含的信息和規(guī)律。
早期的數(shù)據(jù)可視化作為咨詢機(jī)構(gòu)、金融企業(yè)的專業(yè)工具,其應(yīng)用領(lǐng)域較為單一,應(yīng)用形態(tài)較為保守。步入大數(shù)據(jù)時(shí)代,各行各業(yè)對數(shù)據(jù)的重視程度與日俱增,隨之而來的是對數(shù)據(jù)進(jìn)行一站式整合、挖掘、分析、可視化的需求日益迫切,數(shù)據(jù)可視化呈現(xiàn)出愈加旺盛的生命力,表現(xiàn)之一就是視覺元素越來越多樣,從樸素的柱狀圖/餅狀圖/折線圖,擴(kuò)展到地圖、氣泡圖、樹圖、儀表盤等各式圖形。表現(xiàn)之二是可用的開發(fā)工具越來越豐富,從專業(yè)的數(shù)據(jù)庫/財(cái)務(wù)軟件,擴(kuò)展到基于各類編程語言的可視化庫,相應(yīng)的應(yīng)用門檻也越來越低。
數(shù)據(jù)可視化,不僅僅是統(tǒng)計(jì)圖表。本質(zhì)上,任何能夠借助于圖形的方式展示事物原理、規(guī)律、邏輯的方法都叫數(shù)據(jù)可視化。
數(shù)據(jù)可視化不僅是一門包含各種算法的技術(shù), 還是一個(gè)具有方法論的學(xué)科。一般而言,完整的可視化流程包括以下內(nèi)容:
可視化輸入:包括可視化任務(wù)的描述,數(shù)據(jù)的來源與用途,數(shù)據(jù)的基本屬性、概念模型等;
可視化處理:對輸入的數(shù)據(jù)進(jìn)行各種算法加工,包括數(shù)據(jù)清洗、篩選、降維、聚類等操作,并將數(shù)據(jù)與視覺編碼進(jìn)行映射;
可視化輸出:基于視覺原理和任務(wù)特性,選擇合理的生成工具和方法,生成可視化作品。
實(shí)際上,從“數(shù)據(jù)可視化”的命名,便很容易看出數(shù)據(jù)可視化從業(yè)者如何開始可視化設(shè)計(jì),那便是:處理數(shù)據(jù),設(shè)計(jì)視覺,完成從數(shù)據(jù)空間到可視空間的映射, 必要時(shí)重復(fù)數(shù)據(jù)處理和圖形繪制的循環(huán)組合。
1. 分析數(shù)據(jù)
首先,我們需要對數(shù)據(jù)做一個(gè)全面而細(xì)致的解讀,數(shù)據(jù)的特點(diǎn)決定著可視化的設(shè)計(jì)原則。每項(xiàng)數(shù)據(jù)都有特定的屬性(或稱特征、維度)和對應(yīng)的值,一組屬性構(gòu)成特征列表。按照屬性的類型,數(shù)據(jù)可以分為數(shù)值型、有序型、類別型,數(shù)值型又可以進(jìn)一步分為固定零點(diǎn)和非固定零點(diǎn)。其中,固定零點(diǎn)數(shù)據(jù)囊括了我們大多數(shù)的數(shù)據(jù)對象,它們都可以對應(yīng)到數(shù)軸上的某個(gè)點(diǎn);非固定零點(diǎn)主要包括以數(shù)值表示的特定含義,如表示地理信息的經(jīng)緯度、表示日期的年月日等,在分析非固定零點(diǎn)數(shù)據(jù)時(shí),我們更在意的是它們的區(qū)間。
在對數(shù)據(jù)做過預(yù)處理和分析之后,我們就能夠觀察出待處理數(shù)據(jù)的分布和維度,再結(jié)合業(yè)務(wù)邏輯和可視化目標(biāo),有可能還要對數(shù)據(jù)做某些變換,這些變換包括:
標(biāo)準(zhǔn)化,常用的手段包括(0,1)標(biāo)準(zhǔn)化或(-1,1)標(biāo)準(zhǔn)化,分別對應(yīng)的是sigmoid函數(shù)和tanh函數(shù),這么做的目的在于使數(shù)據(jù)合法和美觀,但在這一過程中可能丟失影響數(shù)據(jù)分布、維度、趨勢的信息,應(yīng)該予以特別注意;
擬合/平滑,為表現(xiàn)數(shù)據(jù)變化趨勢,使受眾對數(shù)據(jù)發(fā)展有所預(yù)測,我們會(huì)引入回歸來對數(shù)據(jù)進(jìn)行擬合,以達(dá)到減少噪音,凸顯數(shù)據(jù)趨勢的目的;
采樣,有些情況下,數(shù)據(jù)點(diǎn)過多,以至于不易可視化或者影響視覺體驗(yàn),我們會(huì)使用隨機(jī)采樣的方法抽取部分?jǐn)?shù)據(jù)點(diǎn),抽樣結(jié)果與全集近似分布,同時(shí)不影響可視化元素的對比或趨勢;
降維,一般而言,同一可視化圖表中能夠承載的維度有限(很難超過3個(gè)維度),必須對整個(gè)數(shù)據(jù)集進(jìn)行降維處理。
2. 可視化設(shè)計(jì)
在開始設(shè)計(jì)之前,我們需要對人類視覺以及注意力作簡要分析,這決定著我們?nèi)绾卧诘谝粫r(shí)間抓住受眾的注意力。
人類視覺感知到心理認(rèn)知的過程要經(jīng)過信息的獲取、分析、歸納、解碼、儲(chǔ)存、概念、提取、使用等一系列加工階段,每個(gè)階段需要不同的人體組織和器官參與。簡單來講,人類視覺的特點(diǎn)是:
對亮度、運(yùn)動(dòng)、差異更敏感,對紅色相對于其他顏色更為敏感;
對于具備某些特點(diǎn)的視覺元素具備很強(qiáng)的“腦補(bǔ)”能力,比如空間距離較近的點(diǎn)往往被認(rèn)為具有某些共同的特點(diǎn);
對眼球中心正面物體的分辨率更高,這是由于人類晶狀體中心區(qū)域錐體細(xì)胞分布最為密集;
人們在觀察事物時(shí)習(xí)慣于將具有某種方向上的趨勢的物體視為連續(xù)物體;
人們習(xí)慣于使用“經(jīng)驗(yàn)”去感知事物整體,而忽略局部信息。
這里引入一個(gè)概念——可視編碼,它數(shù)據(jù)信息映射為可視化元素的技術(shù),其通常具有表達(dá)直觀、易于理解和記憶的特性。數(shù)據(jù)包含屬性和值,相應(yīng)可視編碼也由兩部分組成:標(biāo)記和視覺通道,標(biāo)記代表數(shù)據(jù)屬性的分類,視覺通道表示人眼所能看到的各種元素的屬性,包括大小、形狀、顏色等,往往用來展示屬性的定量信息。例如,對于柱狀圖而言,標(biāo)記就是矩形,視覺通道就是矩形的顏色、高度或?qū)挾鹊取?/p>
數(shù)據(jù)可視化的設(shè)計(jì)目標(biāo)和制作原則在于信、達(dá)、雅,即一要精準(zhǔn)展現(xiàn)數(shù)據(jù)的差異、趨勢、規(guī)律,二要準(zhǔn)確傳遞核心思想,三要簡潔美觀,不攜帶冗余信息。結(jié)合人的視覺特點(diǎn),很容易總結(jié)出好的數(shù)據(jù)可視化作品的基本特征:
讓用戶的視線聚焦在可視化結(jié)果中最重要的部分;
對于有對比需求的數(shù)據(jù),使用亮度、大小、形狀來進(jìn)行編碼更佳;
使用盡量少的視覺通道編碼數(shù)據(jù),避免干擾信息。
3. 可視編碼的選擇
如同只學(xué)過視聽語言并不能設(shè)計(jì)出可用的電影分鏡一樣,數(shù)據(jù)可視化這一藝術(shù)設(shè)計(jì)色彩濃厚的工作絕非做過幾個(gè)餅圖、柱狀圖就能勝任。在開始涉足實(shí)踐講解之前,我們需要解決以下疑問:
可視化設(shè)計(jì)中優(yōu)先選擇哪些視覺通道?有多少種視覺通道可供使用?某個(gè)視覺通道能編碼什么信息,能包含多少信息量?視覺通道表達(dá)信息能力的區(qū)別?哪些視覺通道互不相關(guān)而哪些又相互影響?
看看下圖,或許能從一定程度上給出答案:
上圖列舉了數(shù)據(jù)可視化作品中常用的視覺編碼通道,針對同種數(shù)據(jù)類型,采用不同的視覺通道帶來的主觀認(rèn)知差異很大。數(shù)值型適合用能夠量化的視覺通道表示,如坐標(biāo)、長度等,使用顏色表示的效果就大打折扣,且容易引起歧義;類似地,序列型適合用區(qū)分度明顯的視覺通道表示,類別型適合用易于分組的視覺通道。
需要指出的是,上圖蘊(yùn)含的理念可以應(yīng)對絕大多數(shù)應(yīng)用場景下可視化圖形的設(shè)計(jì)“套路”,但數(shù)據(jù)可視化作為視覺設(shè)計(jì)的本質(zhì)決定了“山無常勢,水無常形”,任何可視化效果都拒絕生搬硬套,更不要說數(shù)據(jù)可視化的應(yīng)用還要受到業(yè)務(wù)、場景和受眾的影響。
4. 配色
相信每一個(gè)碼農(nóng)出身的數(shù)據(jù)分析師在做可視化設(shè)計(jì)時(shí),都會(huì)對色彩如何搭配產(chǎn)生過困惑。色彩理論看起來簡單卻又乏味,用起來卻不是那么得心應(yīng)手。那么,如何讓數(shù)據(jù)可視化作品簡約、靈動(dòng)、美觀?下面介紹一些通用技巧。
1)色調(diào)與明度的跨度都要大
要確保配色非常容易辨識與區(qū)分,它們的明度差異一定要夠大。明度差異需要全局考慮。但是,有一組明度跨度大的配色還不夠。配色越多樣,用戶越容易將數(shù)據(jù)與圖像聯(lián)系起來。如果能善加利用色調(diào)的變化,就能使用戶接受起來更加輕松。對于明度與色調(diào),跨度越大,就能承載越多的數(shù)據(jù)。下圖展示了相同色系下不同明度的色階對比:
2)仿照自然的配色
各行各業(yè)的設(shè)計(jì)師都知道這個(gè)小秘密,對于數(shù)據(jù)可視化工程師而言,這招更是屢試不爽。一個(gè)簡單有效的方法是:找出心儀的圖片,比如唯美的風(fēng)景照片,使用photoshop中“濾鏡—馬賽克—調(diào)整多邊形形狀和大小”即可看到該圖片中包含的各種顏色,然后利用吸管工具選出幾種顏色即可:
3)使用漸變
無論你需要2種顏色還是10種,漸變中都能提取出這些顏色,讓可視化圖表感覺自然,同時(shí)保有足夠的色調(diào)與明度差異。一個(gè)使用漸變的好方法就是:在Photoshop中拉輔助線到斷點(diǎn)位置,與數(shù)據(jù)的數(shù)量對應(yīng)上,然后持續(xù)對漸變進(jìn)行測試與調(diào)整。
可以看到,配色表緊挨著頂部的灰度漸變,調(diào)整漸變疊加(之后就能得到精確的漸變色值),然后從那些斷點(diǎn)處選取顏色,測試配色在實(shí)際運(yùn)用中的效果。
4)使用配色工具
網(wǎng)上各種免費(fèi)資源比比皆是,對于想設(shè)計(jì)出靚麗效果又無計(jì)可施的人而言,多參考以下這些工具是一個(gè)好辦法:
ColorHunt——高質(zhì)量配色方案,能夠快速預(yù)覽,如果你只需要4種顏色,這是絕佳的資源;
Kuler——photoshop配色工具,Adobe家出的,應(yīng)該錯(cuò)不了;
Chroma.js——Chroma.js是一個(gè)微型的JavaScript庫,適用于各種顏色處理的,可實(shí)現(xiàn)各種顏色的轉(zhuǎn)換和色階處理;
Color brewer——地圖配色利器,如果你對基于地圖的可視化配色方案感到困惑,這個(gè)在線工具應(yīng)該能夠幫到你。
此外,關(guān)于配色還有一些小技巧可供參考:遵循公司既定的品牌風(fēng)格;根據(jù)數(shù)據(jù)描述的對象來定,如數(shù)據(jù)描述的是咖啡,則可以考慮使用咖色系;使用季節(jié)或者節(jié)日相關(guān)主題的色彩;如果你實(shí)在對顏色搭配感到頭疼,那就多使用萬能的“灰色”和陰影。
統(tǒng)計(jì)圖表
統(tǒng)計(jì)圖表是使用最早的可視化圖形,在數(shù)百年的進(jìn)化過程中,逐漸形成了基本“套路”,符合人類感知和認(rèn)知,進(jìn)而被廣泛接受。
常見于各種分析報(bào)告的有柱狀圖、折線圖、餅圖、散點(diǎn)圖、氣泡圖、雷達(dá)圖,對于這些最常用的圖表類型,下表可以為你指明大致方向:
我們在制作可視化圖表時(shí),首先要從業(yè)務(wù)出發(fā),優(yōu)先挑選合理的、符合慣例的圖表,尤其是如果你的用戶層次比較多樣的情況下,請兼顧各個(gè)年齡段或者不同認(rèn)知能力的用戶的需求;其次是根據(jù)數(shù)據(jù)的各種屬性和統(tǒng)計(jì)圖表的特點(diǎn)來選擇,例如餅圖并不適合用作展示絕對數(shù)值,只適用于反映各部分的比例。對于常用圖表,帶著目的出發(fā),遵循各種約束,相信你能找到合適的圖表:
除了常用的圖表之外,可供我們選擇的還有:
漏斗圖:漏斗圖適用于業(yè)務(wù)流程比較規(guī)范、周期長、環(huán)節(jié)多的流程分析,通過漏斗各環(huán)節(jié)業(yè)務(wù)數(shù)據(jù)的比較,能夠直觀地發(fā)現(xiàn)和說明問題所在。
(矩形)樹圖:一種有效的實(shí)現(xiàn)層次結(jié)構(gòu)可視化的圖表結(jié)構(gòu),適用于表示類似文件目錄結(jié)構(gòu)的數(shù)據(jù)集;
熱力圖:以特殊高亮的形式顯示訪客熱衷的頁面區(qū)域和訪客所在的地理區(qū)域的圖示,它基于GIS坐標(biāo),用于顯示人或物品的相對密度;
關(guān)系圖:基于3D空間中的點(diǎn)—線組合,再加以顏色、粗細(xì)等維度的修飾,適用于表征各節(jié)點(diǎn)之間的關(guān)系;
詞云:各種關(guān)鍵詞的集合,往往以字體的大小或顏色代表對應(yīng)詞的頻次;
?;鶊D:一種有一定寬度的曲線集合表示的圖表,適用于展現(xiàn)分類維度間的相關(guān)性,以流的形式呈現(xiàn)共享同一類別的元素?cái)?shù)量,比如展示特定群體的人數(shù)分布等;
日歷圖:顧名思義,以日歷為基本維度的對單元格加以修飾的圖表。
數(shù)據(jù)可視化的工具
新型的數(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ù)、并對數(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ò)的選擇,二者這種基于Javascript的數(shù)據(jù)可視化工具更適合在互聯(lián)網(wǎng)上互動(dòng)的展示數(shù)據(jù)。
1. 入門級
入門級的意思是該工具是可視化工作者必須掌握的技能,難度不一定小、門檻也不一定低。相反,對于可視化大拿來說,這些工具依舊起到四兩撥千斤的妙用。
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。
Tableau
相信每一個(gè)接觸到數(shù)據(jù)可視化的人都聽說過Tableau,它需要一些結(jié)構(gòu)化的數(shù)據(jù), 也需要你懂一些BI。 它不需要編程,而僅僅通過簡單的拖拽操作即可完成驚艷的效果。對比Excel,它是專業(yè)應(yīng)對數(shù)據(jù)可視化方案的利器,主要表現(xiàn)在數(shù)據(jù)可視化、聚焦/深挖、靈活分析、交互設(shè)計(jì)等功能。Tableau最大的缺點(diǎn)在于它是商業(yè)軟件,個(gè)人使用的話只有14天的免費(fèi)期,而官方售價(jià)不菲。
2. 在線數(shù)據(jù)可視化
Google Charts
Google Charts是一個(gè)免費(fèi)的開源js庫,使用起來非常簡單,只需要在script標(biāo)簽中將src指向https://www.gstatic.com/charts/loader.js然后即可開始繪制。它支持HTML5/SVG,可以跨平臺(tái)部署,并特意為兼容舊版本的IE采用了vml。
在新版googlecharts 發(fā)布之前,google有個(gè)類似的產(chǎn)品叫做Google Charts API,不同之處在于后者使用http請求的方式將參數(shù)提交到api,而后接口返回一張png圖片。如打開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庫,如果你已經(jīng)熟悉jQuery,你就可以容易的對圖像進(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渲染的另一種JavaScript庫。但是D3能夠提供大量線性圖和條形圖之外的復(fù)雜圖表樣式,例如Voronoi圖、樹形圖、圓形集群和單詞云等。D3.js是數(shù)據(jù)驅(qū)動(dòng)文件(Data-Driven Documents)的縮寫,他通過使用HTMLCSS和SVG來渲染精彩的圖表和分析圖。D3對網(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è)純 Javascript 的圖表庫,可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,底層依賴輕量級的 Canvas 類庫 ZRender,提供直觀,生動(dòng),可交互,可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。3.0版本中更是加入了更多豐富的交互功能以及更多的可視化效果,并且對移動(dòng)端做了深度的優(yōu)化。Echarts最令人心動(dòng)的是它豐富的圖表類型,以及極低的上手難度。
Highcharts
在Echarts出現(xiàn)之初,功能還不是那么完善,可視化工作者往往會(huì)選擇HighCharts。Highcharts 系列軟件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款軟件,均為純 JavaScript 編寫的 HTML5 圖表庫。Highcharts 是一個(gè)用純 JavaScript 編寫的一個(gè)圖表庫, 能夠很簡單便捷的在 Web 網(wǎng)站或是 Web 應(yīng)用程序添加有交互性的圖表。Highstock 是用純 JavaScript 編寫的股票圖表控件,可以開發(fā)股票走勢或大數(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ù)可視化
Crossfilter 是一個(gè)用來展示大數(shù)據(jù)集的 JavaScript 庫,它可以把數(shù)據(jù)可視化和GUI控件結(jié)合起來,按鈕、下拉和滑塊演變成更復(fù)雜的界面元素,使你擴(kuò)展內(nèi)容,同時(shí)改變輸入?yún)?shù)和數(shù)據(jù)。交互速度超快,甚至在上百萬或者更多數(shù)據(jù)下都很快。Crossfilter也是一種JavaScript庫,它可以在幾乎不影響速度的前提下對數(shù)據(jù)創(chuàng)建過濾器,將過濾后的數(shù)據(jù)用于展示,且涉及有限維度,因此可以完成對海量數(shù)據(jù)集的篩選與加載。
4. 進(jìn)階工具
Processing
Processing 是用 Java 編程語言寫的,并且 Java 語言也是在語言樹中最接近 Processing 的。所以,如果您熟悉 C 或 Java 語言,Processing 將很容易學(xué)。Processing 并不包括 Java 語言的一些較為高級的特性,但這些特性中的很多特性均已集成到了 Processing。如今,圍繞它已經(jīng)形成了一個(gè)專門的社區(qū)(https://www.openprocessing.org),致力于構(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ī)制。
Weka
Weka是一個(gè)能根據(jù)屬性分類和集群大量數(shù)據(jù)的優(yōu)秀工具,Weka不但是數(shù)據(jù)分析的強(qiáng)大工具,還能生成一些簡單的圖表。weka首先是一個(gè)數(shù)據(jù)挖掘的利器,它能夠快速導(dǎo)入我們的結(jié)構(gòu)化數(shù)據(jù),然后對數(shù)據(jù)屬性做分類、聚類分析,幫助我們理解數(shù)據(jù)。但他的可視化功能同樣不遜色,選擇界面中的visualization,你會(huì)立刻明白:是它讓你理解數(shù)據(jù),然后你才讓用戶可視化數(shù)據(jù)。
結(jié)語
我們所處的這個(gè)時(shí)代,是一個(gè)知識大爆發(fā)的時(shí)代。僅就編程這項(xiàng)技能來說,現(xiàn)在幾乎人人都能寫上一兩行,程序員這個(gè)群體也比十年前有了更多維度上的擴(kuò)展。各種工具的使用門檻越來越低,帶來的是行業(yè)壁壘日漸消弭。會(huì)用某種可視化手段,并不是區(qū)分小白與專家的唯一標(biāo)準(zhǔn),筆者曾聽說有人拿unity、易語言這樣的神器來實(shí)現(xiàn)可視化。所以,眼花繚亂的工具永遠(yuǎn)只是輔助,真正決定你在可視化道路上走多遠(yuǎn)的,是你對可視化理念的準(zhǔn)確把握和執(zhí)著堅(jiān)守。
-
編程語言
+關(guān)注
關(guān)注
10文章
1929瀏覽量
34540 -
可視化
+關(guān)注
關(guān)注
1文章
1166瀏覽量
20858
原文標(biāo)題:一文讀懂?dāng)?shù)據(jù)可視化
文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論