一、D3畫圖簡介
D3 是最流行的可視化庫之一,它被很多其他的表格插件所使用。它允許綁定任意數據到DOM,然后將數據驅動轉換應用到Document中。你可以使用它用一個數組創建基本的HTML表格,或是利用它的流體過度和交互,用相似的數據創建驚人的SVG條形圖。原諒我上面這句是從網上抄的,語文不太好。反正說白了,D3就是一個用來在web界面畫圖的庫。有了它我們畫各種圖形和坐標軸都更加方便了。
二、使用的基本函數
1. 元素選擇函數
在D3中對HTML元素選取主要用到select和selectAll兩個函數。select用於選取單個元素,selectAll用於選取頁面中所有的該元素。
函數原型:d3.select()
函數參數:HTML元素
函數返回值:選擇的HTML元素對象。
示例: var p = d3.select("p"); //選擇頁面中的第一個<p>元素
函數原型:d3.selectAll()
函數參數:HTML元素
函數返回值:選擇的HTML元素對象。
示例: var p = d3.selectAll("p"); //選擇頁面中所有的<p>元素
使用方式列舉:
(1)選取單個元素
<body>
<p></p>
<body>
d3.select("p">
.text("測試"); //輸出:測試
(2)選取所有元素
<body>
<p></p>
<p></p>
</body>
d3.selectAll("p")
.text(function(v,i){
return "測試" + i;
})
//輸出: 測試0
// 測試1
(3)根據id選取元素
<body>
<p></p>
<p id="ceshi"></p>
</body>
d3.select("#ceshi")
.text("ID選取"); //輸出:ID選取
(4)根據class選取元素
<body>
<p></p>
<p class="ceshi"></p>
</body>
d3.select(".ceshi")
.text("class測試");
2. 數據綁定函數
(1)datum函數
函數原型:datum()
函數功能:綁定單個數據到選擇集
示例:
<body>
<p></p>
<p></p>
</body>
var str = "ceshi"
d3.selsetAll("body")
.datum(str)
.text (function(v,i){
return "第" + i + "個元素是" + v;
})
//輸出:
//第0個元素是ceshi
//第1個元素是ceshi
(2)data函數
函數原型:data()
函數功能:將一個數組綁定到選擇集
示例:
<body>
<p></p>
<p></p>
</body>
var str = ["ceshi", "data"]
d3.selsetAll("body")
.datum(str)
.text (function(v,i){
return "第" + i + "個元素是" + v;
})
//輸出:
//第0個元素是ceshi
//第1個元素是data
3. 元素添加函數
函數原型:append()
函數功能:在選擇集后面添加元素
示例:
<body>
<p>段落1</p>
</body>
d3.select(p)
.append("p")
.text("段落2");
//顯示:
//段落1
//段落2
函數原型:insert()
函數功能:在選擇集前面添加元素
示例:
<body>
<p>段落1</p>
</body>
d3.select(p)
.insert("p")
.text("段落2");
//顯示:
//段落2
//段落1
4. 元素移除函數
函數原型:remove()
函數功能:移除元素
示例:
<body>
<p>段落1</p>
<p>段落2</p>
</body>
d3.select(p)
.remove();
//顯示:
//段落2
這章就先介紹到這里,下一章將會將一些基本圖形的畫法。有點累了,下班回家。
