D3.js學(xué)習(xí)筆記(一)


大數(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)的示例圖片:

http://bl.ocks.org/mbostock/4060606

http://bl.ocks.org/mbostock/4339083

http://bl.ocks.org/mbostock/3943967

http://bl.ocks.org/mbostock/4060954

http://bl.ocks.org/mbostock/5944371


參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,924評(píng)論 18 139
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,567評(píng)論 6 427
  • 最近在中國(guó)大學(xué)MOOC網(wǎng)站,跟著北理工嵩天老師團(tuán)隊(duì),學(xué)習(xí)《Python語(yǔ)言程序設(shè)計(jì)》。其中,第5周的思考題,是要實(shí)...
    晏如V5閱讀 1,602評(píng)論 0 1
  • 計(jì)算機(jī)網(wǎng)絡(luò)知識(shí) DNS 即域名系統(tǒng)。因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使用戶(hù)更方便的訪問(wèn)互...
    Aoyi_G閱讀 3,249評(píng)論 0 5
  • 文/蘇久驍 初見(jiàn)你時(shí),籃球場(chǎng)上你正穿著24號(hào)球衣?lián)]灑著汗水。 再見(jiàn)你時(shí),正值傍晚,你和隊(duì)友們?nèi)ナ程茫?jīng)過(guò)女寢抬頭朝...
    蘇久驍閱讀 554評(píng)論 17 11