大數(shù)據(jù)蓬勃發(fā)展的時(shí)代,每天都是海量的數(shù)據(jù)在人類(lèi)社會(huì)中產(chǎn)生。怎樣從中獲取有用的信息,變得越來(lái)越重要。獲得信息最佳方式之一就是通過(guò)數(shù)據(jù)可視化,快速地抓住要點(diǎn)信息。
數(shù)據(jù)可視化( Data Visualization )起源于18世紀(jì),William Playfair 在他出版的書(shū)籍《 The Commercial and Political Atlas 》中第一次使用了柱形圖和折線圖。當(dāng)時(shí)是為了表示國(guó)家的進(jìn)出口量,在今天依然這么使用。19世紀(jì)初,他出版了《 Statistical Breviary 》一書(shū),里面第一次使用了餅狀圖。這三種都是至今最常用的最著名的可視化圖形。19世紀(jì)中葉,數(shù)據(jù)可視化主要被用于軍事用途,用來(lái)表示軍隊(duì)死亡原因、軍隊(duì)的分布圖等。進(jìn)入20世紀(jì),數(shù)據(jù)可視化有了飛躍性的發(fā)展。1990年,在人機(jī)界面學(xué)會(huì)上,作為信息可視化原型的技術(shù)被發(fā)表。1995年,IEEE Information Visualization 正式創(chuàng)立,信息可視化作為獨(dú)立的學(xué)科被正式確立。隨著2012年世界進(jìn)入大數(shù)據(jù)時(shí)代,數(shù)據(jù)可視化作為大量數(shù)據(jù)的呈現(xiàn)方式,成為當(dāng)前重要的課題。
D3是什么?
D3的全稱(chēng)是Data-Driven Documents,是一個(gè)JavaScript的函數(shù)庫(kù),主要用于網(wǎng)頁(yè)作圖、生成互動(dòng)圖形,是最流行的可視化庫(kù)之一,它被很多其他的表格插件所使用。D3使你有能力借助HTML,SVG和CSS來(lái)生動(dòng)地可視化各種數(shù)據(jù)。D3不需要你使用某個(gè)特定的框架,它的重點(diǎn)在于對(duì)現(xiàn)代主流瀏覽器的兼容,同時(shí)結(jié)合了強(qiáng)大的可視化組件,以數(shù)據(jù)驅(qū)動(dòng)的方式去操作DOM。
D3簡(jiǎn)史
- 2009年,Mike Bostock等人開(kāi)發(fā)了Protovis,可以算是D3的前身。
- 2010年,他們停止開(kāi)發(fā)Protovis,用JavaScript開(kāi)發(fā)了D3。
- 2011年2月,D3的v1.0版本發(fā)布。
同年8月,v2.0版本發(fā)布,功能大幅增加。 - 2012年,V3.0版本發(fā)布,修復(fù)了大量bug,更加穩(wěn)健。
- 2016年6月,v4.0版本發(fā)布,更易于應(yīng)用,功能更加強(qiáng)大。
D3的優(yōu)勢(shì)
- 數(shù)據(jù)能夠與DOM綁定在一起
- 數(shù)據(jù)轉(zhuǎn)換和繪制是獨(dú)立的
- 基于SVG,縮放不會(huì)損失精度
- D3可以高效操作大數(shù)據(jù)文檔,支持大數(shù)據(jù)集的動(dòng)態(tài)交互和動(dòng)畫(huà)效果。
附幾張來(lái)自D3.js官網(wǎng)的示例圖片:
參考資料
- 《精通D3.js 交互式數(shù)據(jù)可視化高級(jí)編程》 呂之華著 電子工業(yè)出版社 2015.08
- D3.js官方網(wǎng)站
- http://blog.jobbole.com/36507/
- http://www.ruanyifeng.com/blog/2014/11/basic-charts.html
- http://www.ourd3js.com/