how to set d3.brush extent right?

2020-04-10 04:53发布

问题:

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

回答1:

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