Search code examples
javascriptd3.jsbrush

how to set d3.brush extent right?


I am writing a d3 widget based on Mike Bostocks example http://bl.ocks.org/mbostock/1667367 So I am trying to set brush extent with predefined dates, but the extent rectangle is not applied to those dates.

var brush = d3.svg.brush()
            .x(x2)
            .extent([new Date("May 2001"), new Date("May 2002")])
            .on('brush', brushed);

...

the entire code here http://plnkr.co/edit/H3nt9t8pw0nXM4yHp25P?p=preview


Solution

  • As I understood, you want to set initially the date period. You'll need to call brush component with desired extent.

            brush.extent([new Date("May 2001"), new Date("May 2002")]);
            context.select('.brush').call(brush);
            brushed();
    

    Working code is here