D3 brush

<!DOCTYPE html>
<meta charset="utf-8">
<style>
.brush{fill:#FF0;}
.brush .extent{fill-opacity: .825;}
.brush .background: {fill: red;}
</style>
<body>
<script src="d3.v3.js"></script>
<script>
var x = d3.scale.linear()
    .domain([100, 1000])//这里使用的数值作为输入,如果用时间作为输入,可用d3.time.scale()函数
    .range([0, 860]);//可刷的像素范围

var brush = d3.svg.brush()
    .x(x)
    .extent([100, 200])
    .on("brushend", brushended);

var svg = d3.select("body").append("svg")
    .attr("width", 960)
    .attr("height", 500)

 var gBrush = svg.append("g")
     .attr("class", "brush")
     .call(brush)//绑定刷子
     .call(brush.event);//开始监听

 gBrush.selectAll("rect")//设置刷子区域高度,刷子范围矩形高度
     .attr("height", 100);

function brushended() {//监听鼠标抬起事件,这个事件必须定义,但是可以是空的
  console.log(brush.extent());//获取刷子边界范围所对应的输入值
}

</script>
</body>
</html>


你可能感兴趣的:(d3,brush)