根据画笔范围更新圆环图弧

时间:2014-04-07 21:23:43

标签: javascript svg d3.js

enter image description here

using a D3 brush to update the arcs of a donut chart,但只有在我发布画笔后才会进行更新。我知道D3能够进行基于画笔的连续更新,就像迈克所做的那样in this example;在我的改编中,我错过了那部分代码?

这是我目前用于更新的功能:

function brushended() {
  path.select('.donutPath')
    .data(pie([brush.extent()[1],100 - brush.extent()[1]]))
  .enter().append("path")
    .attr("fill", function(d, i) { return color(i); })
    .attr("d", arc);
  }

1 个答案:

答案 0 :(得分:1)

您需要收听的事件是.on("brush",...,例如:

var brush = d3.svg.brush()
    .x(x)
    .extent([0,40])
    .on("brush", brushended);

您应该更改功能的名称以更好地反映情况,但仅此一项就可以使其正常工作。

监听器的

FIDDLE发生了变化,但也改变了处理更新选择的方式。