Как ускорить горизонтальное панорамирование - PullRequest
0 голосов
/ 03 ноября 2019

Я отображаю некоторые данные на линейном графике, рабочий пример можно найти здесь .

Это работает довольно хорошо, но для большого объема данных горизонтальное панорамирование очень медленное,Вы можете попытаться увеличить график и затем переместить его влево или вправо.

Сначала я масштабирую горизонтальную шкалу:

    var t = d3.event.transform;
    xScale.domain(t.rescaleX(xScaleTimeline).domain());

Затем я перерисовываю строки:

    apiData.sensors.forEach(function (s, i) {
        chart.select("#" + s.name).attr("d", lines[i]);
    });

И для диаграммы рассеяния:

    circles.call(function (c) {
        c.attr("cx",
            function (d) {
                return xScale(d.t);
            });
    });

Есть идеи, как это ускорить? Одним из вариантов может быть изменение масштаба только данных, видимых при текущем уровне масштабирования, но это не выглядит ни простым, ни элегантным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...