可視化庫D3.js(1)-入門篇

為什么要進(jìn)行數(shù)據(jù)可視化

一圖勝千言捎拯。從今天開始可視化庫\color{red}{D3.js}的第一章-入門篇咯??

image

什么是D3.js

D3指的是Data-Driven DocumentsjsJavascript惊豺,是后綴名。先看看官網(wǎng)上對(duì)D3.js庫的定義:

D3.js is a JavaScript library for manipulating documents based on data.D3 helps you bring data to life using HTML, SVG, and CSS.

D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

翻譯成中文大致意思為:

D3.js 是基于數(shù)據(jù)驅(qū)動(dòng)文檔工作方式的一款JavaScript函數(shù)庫禽作,主要用于網(wǎng)頁作圖尸昧、生成互動(dòng)圖形,是最流行的可視化庫之一旷偿。D3使你有能力借助HTML烹俗,SVG和CSS來生動(dòng)地可視化各種數(shù)據(jù)

D3不需要你使用某個(gè)特定的框架,它的重點(diǎn)在于對(duì)現(xiàn)代主流瀏覽器的兼容萍程,同時(shí)結(jié)合了強(qiáng)大的可視化組件幢妄,以數(shù)據(jù)驅(qū)動(dòng)的方式去操作DOM

通過上述的表達(dá),總結(jié)D3.js庫的幾大特點(diǎn):

  1. 一款基于JavaScript的函數(shù)庫

  2. 借助HTML茫负、SVG和CSS等實(shí)現(xiàn)可視化

  3. 組件強(qiáng)大蕉鸳,通過數(shù)據(jù)驅(qū)動(dòng)的方式來操作DOM

安裝

  1. 下載最新的版本V5.16.0。解壓后忍法,在HTML文件中包含相關(guān)的js文件即可

D3.zip

  1. 通過采用<script>標(biāo)簽實(shí)現(xiàn)潮尝,在頁面的代碼中插入如下代碼
<script src="http://d3js.org/d3.v5.min.js"></script>

注意:現(xiàn)在已經(jīng)是V5版本。V5V3的很多語法還是有區(qū)別的饿序,后期所有的文檔都是基于V5勉失。

預(yù)備知識(shí)

如果想通過D3來實(shí)現(xiàn)數(shù)據(jù)的可視化,需要的預(yù)備知識(shí):

  • HTML:超文本標(biāo)記語言原探,用于設(shè)定網(wǎng)頁的內(nèi)容

  • CSS:層疊樣式表乱凿,用于設(shè)定網(wǎng)頁的樣式

  • JavaScript:流行的前端語言,用于設(shè)定網(wǎng)頁的行為

  • DOM:文檔對(duì)象模型咽弦,用于修改文檔的內(nèi)容和結(jié)果

  • SVG:可縮放矢量圖形徒蟆,用于繪制可視化的圖形

以上知識(shí)點(diǎn)沒有必要掌握的非常精通,建議到W3school快速入門型型,了解基本概念后专,再看幾個(gè)案例demo,以后遇到不懂的地方可以進(jìn)行查看输莺。

編程環(huán)境

D3.js是在網(wǎng)頁上的可視化制圖,常用的網(wǎng)頁制作工具:

  1. IDE的選擇:VS code裸诽、Sublime Text嫂用、Notepad++等,推薦使用VS code

  2. 瀏覽器:D3支持的主流瀏覽器不包括IE8及以前的版本丈冬。D3測(cè)試了Firefox嘱函、Chrome、Safari埂蕊、OperaIE9往弓。D3的大部分組件可以在舊的瀏覽器運(yùn)行疏唾。

Chrome是最好的選擇。強(qiáng)大的調(diào)試功能會(huì)讓你事半功倍函似!推薦瀏覽使用chrome的另一個(gè)好處是查找資料更多更全面

  1. 服務(wù)器軟件:Apache槐脏、Tomcat等,這個(gè)是非必須的撇寞。但是有些函數(shù)需要放置于服務(wù)器目錄下顿天,才能正常運(yùn)行,比如關(guān)于導(dǎo)入json文件的函數(shù)

學(xué)習(xí)網(wǎng)站

以下是幾個(gè)學(xué)習(xí)網(wǎng)頁制作和D3的網(wǎng)站:

  1. W3school

W3school蔑担,非常全面的網(wǎng)站建設(shè)課程牌废,從基礎(chǔ)的 HTML 到 CSS,乃至進(jìn)階的 XML啤握、SQL鸟缕、JS、PHP 等

  1. HTML+CSS快速入門

初識(shí)HTML(5)+CSS(3)-2020升級(jí)版:HTML+CSS快速入門-2020升級(jí)版

  1. SVG

可縮放矢量圖形排抬,即SVG懂从,是W3C XML的分支語言之一,用于標(biāo)記可縮放的矢量圖形

SVG-菜鳥課程:SVG-菜鳥課程

SVG|MDN:SVG|MDN

SVG圖像入門教程|阮一峰老師:SVG圖像入門教程|阮一峰老師

  1. D3.js

第一個(gè)推薦的網(wǎng)站肯定是官網(wǎng)畜埋,包含很多的示例和API文檔莫绣,都是根據(jù)最新的版本發(fā)布的

D3官網(wǎng):https://d3js.org/

D3.js的V5版本入門教程:D3.js的V5版本入門教程

慕課網(wǎng)-使用D3制作圖表:慕課網(wǎng)-使用D3制作圖表

數(shù)據(jù)可視化編程-使用D3.js:數(shù)據(jù)可視化編程-使用D3.js-清華大學(xué)

Data Visualization with D3.js - Full Tutorial Course:Data Visualization with D3.js - Full Tutorial Course,油管上的一個(gè)實(shí)例演示課程悠鞍,需要科學(xué)上網(wǎng)才能觀看

D3學(xué)習(xí)資料匯總

第一個(gè)D3.js的程序

image-20200504100247944

代碼解釋:

  1. body標(biāo)簽中放入兩個(gè)p標(biāo)簽蟆湖,沒有寫入內(nèi)容

  2. 定義變量p泪掀,通過鏈?zhǔn)秸{(diào)用獲取到全部的p元素,即selectAll()方法

  3. 通過text()方法來寫入內(nèi)容,進(jìn)行輸出

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末帘睦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子族吻,更是在濱河造成了極大的恐慌暴心,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浩嫌,死亡現(xiàn)場(chǎng)離奇詭異檐迟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)码耐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門追迟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骚腥,你說我怎么就攤上這事敦间。” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵廓块,是天一觀的道長(zhǎng)厢绝。 經(jīng)常有香客問我,道長(zhǎng)带猴,這世上最難降的妖魔是什么昔汉? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮浓利,結(jié)果婚禮上挤庇,老公的妹妹穿的比我還像新娘。我一直安慰自己贷掖,他們只是感情好嫡秕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苹威,像睡著了一般昆咽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牙甫,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天掷酗,我揣著相機(jī)與錄音,去河邊找鬼窟哺。 笑死泻轰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的且轨。 我是一名探鬼主播浮声,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼旋奢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起至朗,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤屉符,失蹤者是張志新(化名)和其女友劉穎锹引,沒想到半個(gè)月后矗钟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嫌变,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年真仲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贞间,死狀恐怖峻仇,靈堂內(nèi)的尸體忽然破棺而出摄咆,到底是詐尸還是另有隱情,我是刑警寧澤涩金,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站菇篡,受9級(jí)特大地震影響驱还,放射性物質(zhì)發(fā)生泄漏嗜暴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一议蟆、第九天 我趴在偏房一處隱蔽的房頂上張望闷沥。 院中可真熱鬧,春花似錦咐容、人聲如沸舆逃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽路狮。三九已至,卻和暖如春蔚约,著一層夾襖步出監(jiān)牢的瞬間奄妨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工炊琉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留展蒂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓苔咪,卻偏偏與公主長(zhǎng)得像锰悼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子团赏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354