jqplot динамическое изменение графика

305
01 января 2018, 12:29

В настоящий момент использую аналогию:

var storedData = [1,50,35];
var plot1 = $.jqplot('chart1', [storedData]);
function doUpdate() {
  storedData.push(Math.floor(Math.random() * 50));
  if (storedData.length > 100) storedData.shift();
  plot1.replot({data: [storedData]});
  setTimeout(doUpdate, 10);
}
doUpdate();

Скрипка. Прекрасно работает за исключением того, что со временем график начинает сильно тормозить(лагает). А если в разметке их несколько, то этот момент наступает ощутимо быстрее.

Попробовал обсуждаемую тут методику с обновлением данных каждой серии с последующим применением .replot()

function ReNewData(dataArray) {
    for (let i = 0; i < dataArray.length; i++)
        for (let j = 0; j < dataArray[i].length; j++)
            plotDataArr[i].series[j].data = dataArray[i][j];
    TotalReplot();
}
function TotalReplot() {
   for (let i = 0; i < plotDataArr.length; i++)
   plotDataArr[i].replot( i !== 3 ? { resetAxes:['yaxis', 'y2axis'] } : '');
}

Просто отправляя новые данные серии в массиве массивов:

ReNewData([
   [line1,line2,line3,line4,line5,line6],
   [line1,line2],
   ...
]);

Лагать перестаёт, но координатные поля х и у не перерисовываются и получается, что графики отрисовываются вперёд, ЗА область своего контейнера, где их не видно.

Скажите пожалуйста, как правильно организовать динамически изменяемые данные на графике так, чтобы работало и как с пересозданием графика, но не вызывало бы таких титанических тормозов с течением времени?

READ ALSO
Почему возникает &ldquo;code&rdquo;: 403, &ldquo;message&rdquo;: &#171;Insufficient Permission&#187; при запросе event google calendar?

Почему возникает “code”: 403, “message”: «Insufficient Permission» при запросе event google calendar?

На клиенте(android) получаю AuthCode и отправляю на сервер где нужно использовать календарь, получаю токен но когда запрашиваю event то возникает ошибка?

261
Trim и пустой текст с пробелом (php)

Trim и пустой текст с пробелом (php)

Если поступит пустой текст, точнее с пробелом " ", как поведет себя с ним функция trim()?

255
Как получить количество онлайн игроков steam сервера

Как получить количество онлайн игроков steam сервера

Как получить онлайн количество игроков на steam серверах, как работают мониторинг сайты?

385
php действие после нажатия кнопку

php действие после нажатия кнопку

Не знаю в чем может быть проблема, буду рад любой помощи, знаю что рукожоп

241