掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
這是一篇給大家提供數(shù)據(jù)可視化開發(fā)的入門指南,介紹了可視化要解決的問題和可以直接使用的工具,我將從下面幾個方面給大家介紹,同時以阿里/螞蟻的可視化團(tuán)隊和資源舉例說明:

什么是數(shù)據(jù)可視化
數(shù)據(jù)可視化研究的是,如何將數(shù)據(jù)轉(zhuǎn)化成為交互的圖形或圖像等,以視覺可以感受的方式表達(dá),增強(qiáng)人的認(rèn)知能力,達(dá)到發(fā)現(xiàn)、解釋、分析、探索、決策和學(xué)習(xí)的目的。
數(shù)據(jù)可視化(Data Visualization)和信息可視化(Infographics)是兩個相近的專業(yè)領(lǐng)域名詞。狹義上的數(shù)據(jù)可視化指的是數(shù)據(jù)用統(tǒng)計圖表方式呈現(xiàn),而信息可視化則是將非數(shù)字的信息進(jìn)行可視化。前者用于傳遞信息,后者用于表現(xiàn)抽象或復(fù)雜的概念、技術(shù)和信息。而廣義上的數(shù)據(jù)可視化則是數(shù)據(jù)可視化、信息可視化以及科學(xué)可視化等等多個領(lǐng)域的統(tǒng)稱。
——《數(shù)據(jù)可視化之美》
廣義的數(shù)據(jù)可視化涉及信息技術(shù)、自然科學(xué)、統(tǒng)計分析、圖形學(xué)、交互、地理信息等多種學(xué)科。
??
科學(xué)可視化(Scientific Visualization)、信息可視化(Information Visualization)和可視分析學(xué)(Visual Analytics)三個學(xué)科方向通常被看成可視化的三個主要分支。這三個分支整合在一起形成的新學(xué)科“數(shù)據(jù)可視化”,是可視化研究領(lǐng)域的新起點。
——《數(shù)據(jù)可視化》
下面我們對科學(xué)可視化、信息可視化和可視分析學(xué)做簡單的介紹:
科學(xué)可視化
科學(xué)可視化(Scientific Visualization)是可視化領(lǐng)域最早、最成熟的一個跨學(xué)科研究與應(yīng)用領(lǐng)域。面向的領(lǐng)域主要是自然科學(xué),如物理、化學(xué)、氣象氣候、航空航天、醫(yī)學(xué)、生物學(xué)等各個學(xué)科,這些學(xué)科通常需要對數(shù)據(jù)和模型進(jìn)行解釋、操作與處理,旨在尋找其中的模式、特點、關(guān)系以及異常情況。
??
信息可視化
信息可視化(Information Visualization)處理的對象是抽象數(shù)據(jù)集合,起源于統(tǒng)計圖形學(xué),又與信息圖形、視覺設(shè)計等現(xiàn)代技術(shù)相關(guān)。其表現(xiàn)形式通常在二維空間,因此關(guān)鍵問題是在有限的展現(xiàn)空間中以直觀的方式傳達(dá)大量的抽象信息。與科學(xué)可視化相比,科學(xué)可視化處理的數(shù)據(jù)具有天然幾何結(jié)構(gòu)(如磁感線、流體分布等),信息可視化更關(guān)注抽象、高維數(shù)據(jù)。柱狀圖、趨勢圖、流程圖、樹狀圖等,都屬于信息可視化最常用的可視表達(dá),這些圖形的設(shè)計都將抽象的數(shù)據(jù)概念轉(zhuǎn)化成為可視化信息。
??
可視分析學(xué)
可視分析學(xué)(Visual Analytics)被定義為一門以可視交互為基礎(chǔ)的分析推理科學(xué)。它綜合了圖形學(xué)、數(shù)據(jù)挖掘和人機(jī)交互等技術(shù),以可視交互界面為通道,將人感知和認(rèn)知能力以可視的方式融入數(shù)據(jù)處理過程,形成人腦智能和機(jī)器智能優(yōu)勢互補(bǔ)和相互提升,建立螺旋式信息交流與知識提煉途徑,完成有效的分析推理和決策。
??
科學(xué)可視化、信息可視化與可視分析學(xué),這三者有一些重疊的目標(biāo)和技術(shù),這些領(lǐng)域之間的邊界尚未有明確的共識。
數(shù)據(jù)可視化的目標(biāo)
數(shù)據(jù)可視化的本質(zhì)是將數(shù)據(jù)通過各種視覺通道映射成圖形,可以使得用戶更快、更準(zhǔn)確的理解數(shù)據(jù)。因此數(shù)據(jù)可視化要解決的問題是如何將數(shù)據(jù)通過視覺可觀測的方式表達(dá)出來,同時需要考慮美觀、可理解性,需要解決在展示的空間(畫布)有限的情況下覆蓋、雜亂、沖突等問題,再以交互的形式查看數(shù)據(jù)的細(xì)節(jié)。
怎樣進(jìn)行數(shù)據(jù)可視化
用一張經(jīng)典的圖來說明如何進(jìn)行數(shù)據(jù)可視化:
??
數(shù)據(jù)可視化過程可以分為下面幾個步驟:
定義問題
首先明確數(shù)據(jù)可視化是要讓用戶看懂?dāng)?shù)據(jù),理解數(shù)據(jù)。所以開始數(shù)據(jù)可視化前一定要定義通要解決的問題。例如:我想看過去兩周銷售額的變化,是增長了還是下跌了,什么原因?qū)е碌?
你可以從 趨勢、對比、分布、流程、時序、空間、關(guān)聯(lián)性等角度來定義自己要解決的問題。
確定要展示的數(shù)據(jù)
進(jìn)行數(shù)據(jù)可視化首先要有數(shù)據(jù),由于畫布大小的限制,過量的數(shù)據(jù)不能夠在直接顯示出來,所以要確定展示的數(shù)據(jù):
確定要顯示的數(shù)據(jù)維度
進(jìn)行可視化時要對字段進(jìn)行選擇,選擇不同的字段在后面環(huán)節(jié)中選擇適合的圖表類型也不同。
??
確定使用的圖表類型
有非常多的圖表類型可以使用,但是要根據(jù)要解決的問題、數(shù)據(jù)的結(jié)構(gòu)、選擇的數(shù)據(jù)維度來確定要顯示的圖表類型:
?[[272446]]?
如何選擇圖表類型可以參考:
數(shù)據(jù)可視化的場景和工具
目前互聯(lián)網(wǎng)公司通常有這么幾大類的可視化需求:
通用報表需求
開發(fā)過程中面臨的 85% 以上的需求都是通用報表的需求,可以使用一般的圖表庫來滿足日常的開發(fā)需求,行業(yè)內(nèi)比較常用的圖表庫有:Highcharts、Echarts、amCharts 等,AntV 開源了基于圖形語法的圖表庫:G2
G2 具備以下特性:
目前阿里集團(tuán)內(nèi)部已經(jīng)有大量基于 G2 封裝的圖表庫,針對特定的框架和業(yè)務(wù)場景進(jìn)行了封裝,其中部分已開源:
移動端可視化
如果你面臨的場景需要 PC 端和移動端都兼容那么使用 G2 然后適配移動端的屏幕即可,但是如果你在移動 APP 上使用 H5 或者小程序開發(fā),那么就選擇 F2
F2是一個專注于移動,開箱即用的可視化解決方案,完美支持 H5 環(huán)境同時兼容多種環(huán)境(node, 小程序,weex)。完備的圖形語法理論,滿足你的各種可視化需求。專業(yè)的移動設(shè)計指引為你帶來最佳的移動端圖表體驗。
??
F2 對多個平臺提供支持,阿里集團(tuán)的其他團(tuán)隊也做了一些封裝,比如my-f2,這是針對小程序封裝的版本,目前已開源:
??https://github.com/antvis/my-f2??
大屏可視化
大屏可視化聚焦于會議展覽、業(yè)務(wù)監(jiān)控、風(fēng)險預(yù)警、地理信息分析等多種業(yè)務(wù)的展示,在圖形渲染、可視化設(shè)計方面都有很高的要求,目前阿里集團(tuán)內(nèi)部的大屏可視化團(tuán)隊包括:
??
大屏目前幾乎已成為to B項目的標(biāo)配,應(yīng)用場景越來越廣泛。
圖編輯 & 圖分析
圖可視化主要有兩個大的領(lǐng)域:
目前主流的開源框架有:
目前 AntV 在圖可視化方向開源了 圖基礎(chǔ)框架 G6
主要完成以下功能:
??
在 G6 的上層我們還針對圖編輯和圖分析提供了 G6-Analyzer 和 G6-Editor.
地理可視化
地理數(shù)據(jù)可視化主要是對空間數(shù)據(jù)域的可視化,主要有三大領(lǐng)域:
AntV G2 和 L7 都提供了地理數(shù)據(jù)可視化的方案,其中:
阿里集團(tuán)的其他地理可視化框架包括:
常見的問題
圖表誤用
圖表的誤用是最常見的問題,看下下面的一些場景:
例子1:分類過多的場景。下圖是各個省的人口的占比情況,因為這張圖上包含的分類過多,就出現(xiàn)了簡介中提到的問題,很難清晰對比各個省份的人口數(shù)據(jù)占比情況,所以這種情況下,我們推薦使用橫向柱狀圖。
??
例子2:我們以一個不同游戲類型的銷量對比的場景為例,對于表示分類對比的數(shù)據(jù)時,我們更應(yīng)該使用柱狀圖,而不是折線圖。
??
移動端和PC端圖表
AntV 提供了 G2 和 F2 兩個統(tǒng)計圖表框架,用戶經(jīng)常會面同時臨移動端和 PC 端的業(yè)務(wù),這時候會面臨兩個框架的選擇問題。G2 本質(zhì)上是為了傳統(tǒng)的中后臺產(chǎn)品設(shè)計的圖表庫,除了一般的報表顯示外,還提供了大量的交互有很強(qiáng)的分析能力;而 F2 則專門為移動端開發(fā),最關(guān)注的是代碼大小、性能、表現(xiàn)力。
所以我們有以下建議:
數(shù)據(jù)量太大怎么辦
我們在前端做的可視化,能做的僅僅是小規(guī)模數(shù)據(jù)的可視化,如果你遇到超大規(guī)模數(shù)據(jù)要進(jìn)行可視化,那么可以選擇:
總結(jié)
這是一篇可視化的入門文章,介紹了可視化要解決的問題和可以直接使用的工具,如果你對可視化感興趣可以關(guān)注墨者學(xué)院

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流