Предотвратить кисть d3 от нулевого выделения - PullRequest
0 голосов
/ 17 декабря 2018

Имея селектор с двумя обработчиками для выбора диапазона, я использую d3.brush для получения этого диапазона.

Проблема, которая возникает, когда оба селектора имеют одинаковое значение (например, 0) массив, содержащий одинаковые значения [0, 0], становится null.

Я не знаю, почему это происходит и как этого следует избегать.

const brush = d3.brushX()
    .extent([[0, 0], [100, 100]])
    .on('brush.drag', () => {
        const selection = d3.event.selection;
        updateSomethingFromSelection(selection);
    })
    .on('end', () => {
        const selection = d3.event.selection;
        updateSomethingFromSelection(selection);
    })
    .on('brush.heatmap', () => {
        const selection  = d3.event.selection;
        updateSomethingElse(selection);
    });

Чего я хочу избежать, так это выбора нулевого значения.Можете ли вы как-нибудь сказать кисти d3, чтобы она никогда не имела нулевого выделения?

Есть предложения?

1 Ответ

0 голосов
/ 17 декабря 2018

Вы правы, если диапазон в кисти равен 0 d3, он будет считаться "пустым" .Как вы можете видеть здесь в источнике, это установит выбор обратно на ноль.Единственный способ заставить d3 рисовать на «пустом» - предоставить d3 очень маленькое значение и сделать так, чтобы оно сначала рисовало.

...