D3是什么
全稱(chēng)是(Data-Driven Documents),一個(gè)被數(shù)據(jù)驅(qū)動(dòng)的文檔
簡(jiǎn)單點(diǎn),是一個(gè)JavaScript函數(shù)庫(kù),使用它主要用來(lái)做數(shù)據(jù)可視化。
D3 是一個(gè)開(kāi)源項(xiàng)目,作者是紐約時(shí)報(bào)的工程師。
學(xué)習(xí) D3 需要什么預(yù)備知識(shí)
HTML:超文本標(biāo)記語(yǔ)言,用于設(shè)定網(wǎng)頁(yè)的內(nèi)容
CSS:層疊樣式表,用于設(shè)定網(wǎng)頁(yè)的樣式
JavaScript:一種直譯式腳本語(yǔ)言,用于設(shè)定網(wǎng)頁(yè)的行為
DOM:文檔對(duì)象模型,用于修改文檔的內(nèi)容和結(jié)構(gòu)
SVG:可縮放矢量圖形,用于繪制可視化的圖形
D3 的學(xué)習(xí)曲線(xiàn)
過(guò)去幾年我一直在使用 D3,并用它繪制了各種各樣的圖形曲線(xiàn)。然而一個(gè)問(wèn)題就是,雖然我理解關(guān)于 D3 的基本概念,但我還是難以做到輕車(chē)熟路,我身邊的同事跟我也是同樣的感受。和大多數(shù)人一樣,許多時(shí)候,我們都是從網(wǎng)上找到一個(gè)示例,然后將它修改為實(shí)際工程中所需要的。
如果讓你自己從頭寫(xiě)一個(gè)圖表的話(huà),你大概會(huì)感到不安和緊張:
在我看來(lái),D3.js提供了強(qiáng)大的可視化組件能力,但是對(duì)于一般人來(lái)講學(xué)習(xí)曲線(xiàn)也有所拔高,想深入玩轉(zhuǎn)D3.js還需要各位同學(xué)有比較深厚的基本功才行。
我們都知道,向以前畫(huà)桑基圖,層級(jí)TreeMap,旭日?qǐng)D,雙向?qū)Ρ葓D等等,首先從數(shù)據(jù)庫(kù)中取出數(shù)據(jù),再將數(shù)據(jù)組織成圖形所支持的格式就非常費(fèi)勁,再加上需要編寫(xiě)大量的代碼來(lái)實(shí)現(xiàn)組件的渲染。
不過(guò)做數(shù)據(jù)可視化有了更好的解決辦法,NBI一站式大數(shù)據(jù)可視化分析平臺(tái)(nbi.easydatavis.com:8033)深度集成了D3.js,Echarts,經(jīng)過(guò)對(duì)它們的二次封裝,使得在平臺(tái)上可以實(shí)現(xiàn)零編碼、拖拽式即可實(shí)現(xiàn)數(shù)據(jù)可視化的能力。
NBI大數(shù)據(jù)可視化構(gòu)建平臺(tái):豐富的組件庫(kù),自由靈活的布局模式,拖拽操作
通過(guò)組件的智能提示,拖拽對(duì)應(yīng)的維度或字標(biāo)到對(duì)應(yīng)欄目中即可實(shí)現(xiàn)可視化,無(wú)需編碼,無(wú)需計(jì)算,通過(guò)右側(cè)屬性配置,讓圖形看起來(lái)更加美觀(guān)。
幾分鐘即可完成數(shù)據(jù)報(bào)告的制作,保存后可以全網(wǎng)查看,方便分享,NBI大數(shù)據(jù)可視化的出現(xiàn)大大簡(jiǎn)化了數(shù)據(jù)可視化的投入成本。