d3-brush
它也可以被用來放大選中的區(qū)域,或選擇交叉過濾數(shù)據(jù) 或?qū)崟r直方圖:
d3.brush()創(chuàng)建一個二維的brush.
d3.brushX()創(chuàng)建一個一維的 x-方向的brush.
d3.brushY()創(chuàng)建一個一維的 y-方向的brush.
svg.append("g")
.attr("class", "brush")
.call(d3.brush().on("brush", brushed));
brush.move(group, selection)
為指定的group設(shè)置選中范圍,
election為一個數(shù)值類型的數(shù)組. 對于. 對于二維 brush,必須由 [[x0, y0], [x1, y1]]定義, x0和 y0 表示最小x和y值, x1和y1 表示最大x和y值. 對于 x-brush, 一定由 [x0, x1]定義; 對于y-brush, 一定定義為 [y0, y1]. selection也可以是一個返回?cái)?shù)組類型的方法. 如果是一個方法則會為每個選中的元素調(diào)用,并傳遞當(dāng)前的數(shù)據(jù) d和索引i,this表示當(dāng)前的DOM元素節(jié)點(diǎn).
brush.extent([extent])
如果 extent 指定,則設(shè)置可刷取的范圍
brush.on(typenames, [listener])
- start - 開始brush操作,比如鼠標(biāo)按下.
- brush -當(dāng)拖動brush區(qū)域進(jìn)行選取時,比如鼠標(biāo)拖動.
- end - 在選取結(jié)束時,比如鼠標(biāo)抬起.
d3.brushSelection(node)
返回指定節(jié)點(diǎn)的brush選擇,在內(nèi)部元素的brush或以 element.__brush形式存儲; 但是你應(yīng)該使用d3.brushSelection而不是通過直接訪問內(nèi)部存儲來調(diào)用,如果給定的node沒有附加brush操作,則返回null.
selection 被定義為一個數(shù)值數(shù)組.
- 對于二維 brush, 它是[[x0, y0], [x1, y1]]這種形式, x0 和y0 表示最小x和y值, x1和 y1 表示最大x和y值,
- 對于[x-brush], 表示為[x0, x1];
- 對于 [y-brush], 表示為[y0, y1].