常用鏈接
[1] d3官網主頁,但是東西不多,因為主要都以github形式為主。
[4]...教程太多...慢慢看
瀏覽器支持
Firefox、Chrome、Safari、Opera和IE9+支持。
IE8 : 兼容性庫Aight。
最低運行要支持:JavaScript和W3C DOM API。
轉場特效:SVG和CSS3。
所以,d3并不是一個做兼容的層,兼容的話要自己做呢。
第一個例子
圖1 d3js的第一個例子
如上圖:比如我們有這樣一組數據
var data = [4, 8, 15, 16, 23, 42];
要生成這樣的圖表,我們可以這樣:
d3.select(".chart")
.selectAll("div")
.data(data)
.enter()
.append("div")
.style("width", function(d) {return d * 10 + "px";})
.text(function(d) {return d;});```
我們來簡單分析下上面所用到的方法:
| 方法 | 介紹 |
|--------|--------|
|`d3.select(selector)` `d3.select(node)`|選擇第一個匹配的元素,可以是字符串,也可以是一個節點,比如 *d3.select(this)* 、*document.body*。|
|`d3.selectAll(selector)` `d3.selectAll(node)` |選擇所有可以匹配的元素,可以是字符串,也可以是一個節點。|
|`selection.data([values[, key]])` |在特定selection中加入數組數據,這個數據既可以是一組數組,也可以是返回數據的函數方法。這里數據與DOM的[綁定關系[鏈接生成中...]]()下次再說。|
|`selection.enter()` | 返回enter的selection,用于要對selection定義更新時。比如,當要對selection定義*append*,*insert*, *select*和*call*操作更改內容前,必須先用此方法實例化selection|
|`selection.append(name)`|在當前selection最后添加一個新的元素,類似jquery用法,不做贅述|
|`selection.style(name[, value[, priority]])`|設置CSS屬性,類似jquery,不做贅述|
|`selection.text([value])`|設置selection文本屬性,類似jquery,不做贅述|
別忘了上點樣式:
.chart div {
font: 10px sans-serif;
background-color: steelblue;
text-align: right;
padding: 3px;
margin: 1px;
color: white;
}```